JVM学习记录二:JVM解释器与JIT即时编译器

解释器 :响应快,逐行解释字节码,执行机器指令,但执行时间长,执行效率低
即时编译器(JIT): 反复执行的热点代码即时编译成本地机器指令,存入方法区缓存codeCache,响应慢,执行效率高
JVM类型 :
SUN Classic VM : 使用解释器 可以外挂即时编译器(JIT)一旦使用JIT则由JIT接管,解释器就不能使用了
Exact VM : 能够知道内存中某个位置的数据具体是什么类型,具备现代高性能虚拟机的雏形,热点探测、编译器和解释器混合工作模式
HotSpot : 解释器与即时编译器混合使用(只有HotSpot有方法区元空间的概念) 通过计数器找到最具编译价值代码,触发即时编译或栈上替换(对象可以创建在栈空间中)、通过即时编译器和解释器协同工作,在最优化的程序响应时间和最佳执行性能中取得平衡
JRockit : 专注于服务器端应用,不太关注程序启动速度,JRockit 内部不包含解释器,全套代码靠即时编译器编译后执行 ,JRockit 是世界上最快的JVM
IBM J9

你可能感兴趣的:(JVM)