Java程序的编译-解释次数

星级:
Java程序编写完成之后,只需进行一次编译,而解释在每次程序运行时都会进行。

Java 编程语言(Java programming language) 与众不同之处在于:

Java 程序既是编译型的(compiled)(转换为一种称为 Java 字节码的中间语言),又是解释型的(interpreted)(JVM 对字节码进行解析和运行)。

编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对 JVM 优化过的机器码形式;解释器是 JVM 的实现。

解释执行效率不高,为了解决这个问题,使用JIT编辑器。

JIT介绍:

 JIT是just in time,即时编译技术。使用该技术,能够加速java程序的执行速度。

首先,我们大家都知道,通常javac将程序源代码编译,转换成java字节码,JVM通过解释字节码将其翻译成对应的机器指令,逐条读入,逐条解释翻译。很显然,经过解释执行,其执行速度必然会比可执行的二进制字节码程序慢。为了提高执行速度,引入了JIT技术。

 后来又用HOTSPOT代替了JIT,该技术将常用的部分代码编译为本地(原生,native)代码。