概论
执行引擎用于翻译字节码指令为机器指令交由操作系统执行.
半编译半解释
java语言是一种半编译半解释型语言,并不是指java需要先编译成class在解释执行.
而是值jvm执行引擎中即有解释器又有JIT编译器.
使用编译器可以将字节码直接逐行翻译成机器指令后再执行
解释器在运行期间将字节码指令直接翻译成机器指令执行
JIT编译器后期的效率比解释器要高
热点代码
对于一个被多次调用的方法或者循环次数较多的循环体就是热点代码.会使用JIT编译器编译成机器指令,并在执行过程中替换(栈上替换)
hotspot虚拟机的热点代码的探测是基于计数器实现的,当方法调用次数超过阈值后会使用JIT编译器编译成机器指令并缓存起来
设置执行模式
-Xint
纯解释器模式
-XComp
纯编译器模式
-XMixed
混合模式