欢迎来到 通辽市某某化工涂料售后客服中心
全国咨询热线:020-123456789
联系我们

地址:联系地址联系地址联系地址

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

新闻中心
JAVA编译器和解释器的协调工作流程
  来源:通辽市某某化工涂料售后客服中心  更新时间:2024-04-29 07:50:19

JAVA编译器和解释器的协调工作流程

在部分商用虚拟机中(如HotSpot) ,编译Java程序最初是器和器通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的解释运行特别频繁时,就会把这些代码认定为“热点代码” 。协调为了提高热点代码的工作执行效率 ,在运行时,流程虚拟机将会把这些代码编译成与本地平台相关的编译机器码,并进行各种层次的器和器优化  ,完成这个任务的解释编译器称为即时编译器(Just In Time Compiler,下文统称JIT编译器) 。协调

具体执行流程如下图所示:

JAVA编译器和解释器的协调工作流程

程序中的代码只有是热点代码时 ,才会编译为本地代码  ,流程那么什么是编译热点代码呢?

运行过程中会被即时编译器编译的“热点代码”有两类 :

1、被多次调用的器和器方法。

2、解释被多次执行的循环体。

判断是否是热点代码,不是则逐行解释每条代码,翻译成机器码执行,否则一次性编译成机器码存到方法区 ,以后每次直接运行机器码 。默认一段代码(方法、或循环体)被调用10000次以上被认为是热点代码。

说JIT比解释快,其实说的是“执行编译后的代码”比“解释器解释执行”要快 ,并不是说“编译”这个动作比“解释”这个动作快 。JIT编译再怎么快,至少也比解释执行一次略慢一些 ,而要得到最后的执行结果还得再经过一个“执行编译后的代码”的过程。所以,对“只执行一次”的代码而言 ,解释执行其实总是比JIT编译执行要快 。

怎么算是“只执行一次的代码”呢?粗略说  ,下面两个条件同时满足时就是严格的“只执行一次”

1、只被调用一次  ,例如类的构造器(class initializer())

2 、没有循环

对只执行一次的代码做JIT编译再执行 ,可以说是得不偿失。对只执行少量次数的代码,JIT编译带来的执行速度的提升也未必能抵消掉最初编译带来的开销  。只有对频繁执行的代码,JIT编译才能保证有正面的收益。

对一般的Java方法而言,编译后代码的大小相对于字节码的大小,膨胀比达到10x是很正常的 。同上面说的时间开销一样,这里的空间开销也是 ,只有对执行频繁的代码才值得编译 ,如果把所有代码都编译则会显著增加代码所占空间,导致“代码爆炸”。

这也就解释了为什么有些JVM会选择不总是做JIT编译,而是选择用解释器+JIT编译器的混合执行引擎。

为何要实现两个不同的即时编译器

HotSpot虚拟机中内置了两个即时编译器:Client Complier和Server Complier ,简称为C1、C2编译器,分别用在客户端和服务端 。

目前主流的HotSpot虚拟机中默认是采用解释器与其中一个编译器直接配合的方式工作。程序使用哪个编译器 ,取决于虚拟机运行的模式 。HotSpot虚拟机会根据自身版本与宿主机器的硬件性能自动选择运行模式 ,用户也可以使用“-client”或“-server”参数去强制指定虚拟机运行在Client模式或Server模式 。

用Client Complier获取更高的编译速度,用Server Complier 来获取更好的编译质量(例如 JIT优化) 。为什么提供多个即时编译器与为什么提供多个垃圾收集器类似 ,都是为了适应不同的应用场景 。

编译质量的意思就是在编译过程中会进行优化,Client Complier优化的少 ,Server Complier优化的多 ,优化多则启动慢

Server Compiler和Client Compiler两个编译器的编译过程是不一样的 。

对Client Compiler来说 ,它是一个简单快速的编译器,主要关注点在于局部优化 ,而放弃许多耗时较长的全局优化手段 。

而Server Compiler则是专门面向服务器端的 ,并为服务端的性能配置特别调整过的编译器,是一个充分优化过的高级编译器。


友情链接中国VS澳大利亚 男篮比赛马上开始,希望能带来惊喜触电新能源市场,运动与能效如何兼顾?垠哥静态评价全新BMW i3中超前瞻:浙江队VS河南嵩山龙门 河南如何避免连败秉承实用派,空间感强,适合两人旅居的卫航V590纵置上下床版房车足协下血本!3个月分红超1.5亿,各队抓紧发工资,青岛重庆尴尬了莱科或为上港甩掉三个高薪包袱,个个都来头不小,一人至今未登场本田思域和大众速腾该怎么选?2020款广汽三菱欧蓝德车联网功能无法使用是什么原因?搭载1.2T发动机!大众高尔夫的养车成本高不高BMW M635 CSi 一个八十年代的偶像福特V362中轴汽油小房车,6座大客厅能商务办公,全车仅一张床位八段锦动作研究9:原来八段锦的几个基本手势这么厉害长城汽车(02333)6月共有320.5万元“长汽转债”已转换成约8.46万股公司股票高手过招 比亚迪唐EV对比MARVEL R13年后再看方博,和马龙一较高下,至今还是国乒意难平台风“暹芭”影响 广东五市将有大暴雨兴瑞科技:旗下公司新能源汽车电子精密零组件及服务器精密结构件扩产项目竣工验收美记:篮网很可能将杜兰特交易至太阳 布鲁克林想要艾顿和选秀权五大联赛转会窗全部开启!部分球员合同到期已获自由身官方:拜仁前锋阿尔普转会德乙球队基尔,签约到2024年B费:新赛季曼联将从零开始蓬勃发展,祝愿维埃拉在英超取得成功(体育)(12)羽毛球——马来西亚公开赛:杜玥/李汶妹晋级世界杯资讯,巴西VS塞尔维亚,黑白在线直播/巴西能突破记录?国羽3项进决赛!陈雨菲赛季首胜戴资颖,女双逆转日本雅思24连胜(体育)(3)网球——温网:张帅/梅尔滕斯女双首轮晋级采用欧洲规范,传动效率高达97%,全面解析吉利星瑞的7DCT变速箱上世纪两款排气管摩托车,都是早年在国内叱咤风云的概念车型美记:哈尔滕施泰因两年1670万美元签约尼克斯队记:爵士不会给帕斯卡尔资质报价 后者将成UFA预计吸引各队注意极狐阿尔法S 2022款华为HI高阶版这款车怎么样中超怪现象:补时多久裁判随意,提前打卡或看人不看表全凭心情🚨全面营业!西甲意甲德甲开窗,五大联赛夏窗已全部开启大马公开赛8分1决赛回顾,国羽取10胜1负,男双表现令人失望法拉利通过更有效的DRS降低了直道阻力还在用防水喷雾?选对鞋,雨季没烦恼!|《每周冷门球鞋大赏》融入了多种风格的经典宝马E46,以为只有《极品飞车》才会这样改气以直养而无害切尔西中锋魔咒!6巨星齐遭滑铁卢 托雷斯舍瓦领衔 仅2人成功1-5月全球电动车销量榜出炉,比亚迪夺冠,豪华品牌迅速飙升?官方:英国地产商完成对德比郡收购,具体收购金额未透露
联系我们

地址:联系地址联系地址联系地址

电话:020-123456789

传真:020-123456789

邮箱:admin@aa.com

0.1867

Copyright © 2024 Powered by 通辽市某某化工涂料售后客服中心   sitemap