JVM 虚拟机 AOT 和 JIT 即时编译

举报
简简单单Onlinezuozuo 发表于 2022/03/01 00:23:57 2022/03/01
【摘要】 文章目录 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。