less than 1 minute read

概述

执行引擎将字节码指令解释/编译为对应平台上的本地机器指令。

当虚拟机启动的时候,解释器可以首先发挥作用,而不必等待JIT编译器全部编译完成再执行,这样可以省去许多不必要的编译时间。并且随着程序运行时间的推移,JIT编译器逐渐发挥作用,根据热点探测功能,将有价值的字节码编译为本地机器指令,以换取更高的程序执行效率。

解释器:当Java虚拟机启动时会根据预定义的规范对字节码采用逐行解释的方式执行,将每条字节码文件中的内容“翻译”为对应平台的本地机器指令执行。

JIT(just in time compiler)编译器:虚拟机将源代码直接编译成和本地机器平台相关的机器语言。

热点代码及探测

被多次调用的方法或者一个方法体内多次循环的循环体都可以被称之为热点代码。Hotspot采用热点探测方式是基于计数器的热点探测。

Tags:

Categories:

Updated: