对java平台的理解
问题1 对java平台的理解?
- java本身是一种面向对象的语言,最显著的两个特点:书写一次,到处运行,很容易的获取扩平台的能力,另外一个就是垃圾回收机制,java通过垃圾回收器回收分配内存,大部分情况下,程序员不需要担心内存分配和回收的问题。
问题2 如何理解书写一次到处运行这句话?
-
所有的高级语言从源代码到程序都需要三个阶段:编写 -> 编译->运行 java也不例外,从这三方面来分析。
编写:不用多说就是代码的编写
编译: 如下图所示:
image.png
运行:有jvm运行字节码文件。
在这里到处运行的前提是各平台已安装好了jvm,在jvm内嵌的解释器其将字节码文件转换成最终的机器码供不同平台的机器来识别,所以才会有和平台无关的特性。
那么第三个问题来了
问题3 java是编译机制还是解释机制?
- java有第一次编译,在jvm运行的时候会第二次解释来适应不同的平台,在jvm解释的过程中(将字节码转换成最终的机器码)真正的采用的是解释机制,即翻译一句,执行一句,不产生整个机器代码程序。所以java是解释机制而不是编译机制。
网友评论