JVM 通过解释字节码将其翻译成对应的机器指令,逐条读入,逐条解释翻译。通过解释执行,其执行速度必然会比可执行的二进制字节码程序慢很多。这是传统的 JVM 的解释器(Interpreter)的性能。为解决效率问题,引入了 JIT 技术。
JAVA 程序还是通过解释器进行解释执行,当 JVM 发现某个办法或代码块运行特地频繁的时候,就会认为这是“热点代码”(Hot Spot Code)。而后 JIT 会把局部“热点代码”翻译老本地机器相干的机器码,并进行优化,而后再把翻译后的机器码缓存起来,以备下次应用。