美文网首页
执行引擎

执行引擎

作者: 百事可乐丶 | 来源:发表于2020-05-21 10:20 被阅读0次

概念

执行引擎的作用就是将class文件代码转化成机器语言,让计算机识别执行

通常说的JAVA是半编译和半解释型语言,原因就在于通用的Hotspot虚拟机的执行引擎的工作模式为解释器和JIT编译器共同协作

WechatIMG8.png

默认模式是二者共同协作,可以修改成单一工作模式,但是没必要.
命令:
-Xint 单一解释器
-Xcomp 单JIT编译器
-Xmixed 两者混合使用-默认

工作原理

1.解释器:一行一行将字节码转化成机器语言执行 缺点:执行效率慢 优点:可以快速执行响应快
2.JIT编译器:先将字节码转化成机器语言然后缓存在方法区里面,下次执行就可以直接执行机器语言
缺点:第一次编译需要的实际长,响应慢 优点:后续的执行效率高

如何协作

WechatIMG9.png

热点代码分析

HotStop虚拟机分为server和client模式,我们用的一般都是servcer模式,不同模式下的热点统计阀值不同
client: C1 当一个方法或者一个循环体在一段时间执行次数在1500以上的时候将进行即使编译,然后进行代码缓存.
server:C2 当一个方法或者一个循环体在一段时间执行次数在10000以上的时候进行即时编译,然后进行代码缓存,内部的优化也不一样

C2:内部优化都是基于逃逸分析的
1.栈上分配-hotstop虚拟机好像没支持
2.同步消除
3.标量替换

相关文章

网友评论

      本文标题:执行引擎

      本文链接:https://www.haomeiwen.com/subject/afaaohtx.html