JVM 虚拟机 AOT 和 JIT 即时编译
【摘要】
文章目录
JVM 虚拟机 AOT 和 JIT 即时编译1、AOT2、JIT
JVM 虚拟机 AOT 和 JIT 即时编译
1、AOT
AOT 是 Ahead Of ...
JVM 虚拟机 AOT 和 JIT 即时编译
1、AOT
AOT 是 Ahead Of Time
,运行前编译
与 JIT 编译对比
JIT 吞吐量高,有运行时性能加成,可以跑得更快,并可以做到动态生成代码等,但是相对启动速度较慢,并需要一定时间和调用频率才能触发 JIT 的分层机制
AOT 内存占用低,启动速度快,可以无需 runtime 运行,直接将 runtime 静态链接至最终的程序中,但是无运行时性能加成,不能根据程序运行情况做进一步的优化
但是 JIT 编译需要占用运行时资源
2、JIT
JIT 是 Just-In-Time
,即时编译
JIT 动态编译,某段代码即将第一次被执行时进行编译
在部分商用虚拟机中(如HotSpot),Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”。
为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器
文章来源: wretchant.blog.csdn.net,作者:简简单单OnlineZuozuo,版权归原作者所有,如需转载,请联系作者。
原文链接:wretchant.blog.csdn.net/article/details/123165422
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)