JVM通过解释将字节码翻译成相应的机器指令,一条条读取,一条条解释翻译。经过解释执行后,其执行速度必然会比可执行的二进制字节码程序慢很多。这就是传统的JVM解释器(Interpreter)的作用。为了解决效率问题,引入了JIT技术。JAVA程序仍然是通过解释器来解释执行的。当JVM发现某个方法或代码块运行特别频繁时,就会认为它是“热点代码”。然后JIT会将一些“热点代码”翻译成本地机器相关的机器码,进行优化,然后将翻译后的机器码缓存起来,以备下次使用。

JVM通过解释将字节码翻译成相应的机器指令,一条条读取,一条条解释翻译。经过解释执行后,其执行速度必然会比可执行的二进制字节码程序慢很多。这就是传统的JVM解释器(Interpreter)的作用。为了解决效率问题,引入了JIT技术。JAVA程序仍然是通过解释器来解释执行的。当JVM发现某个方法或代码块运行特别频繁时,就会认为它是“热点代码”。然后JIT会将一些“热点代码”翻译成本地机器相关的机器码,进行优化,然后将翻译后的机器码缓存起来,以备下次使用。