⑤还有一种情况就是因为激进优化产生的问题 , 由于C2激进的策略 , 导致编译出来的C2代码有问题 , 这时候会进行反优化 , 重新进入解释器解释执行的阶段 。
分层优化就是这样灵活的在各个层次间反复横跳 , 以达到效率和质量的平衡点 , 显然这比单一的使用C1或C2要强大多了 。
JDK8开始【jvm|JVM底层原理之什么是分层编译?】并且从JDK8开始 , 默认启用分层编译Tiered Compilers , 这时候已经没有【-client】和【-server】指令了 , 这时如果只想开启 C2 , 可以关闭分层编译(-XX:-TieredCompilation
) , 如果只想使用 C1 , 可以在打开分层编译的同时 , 使用参数:-XX:TieredStopAtLevel=1
, 其实就相当于只进行到level1层次的分层编译 。
- jvm|JVM底层原理之如何选用C1、C2编译器?它们有什么区别?
- jvm|美国资本的无序扩张严重威胁世界了
- jvm|vivo X80对比红米K50 Pro反应速度,堪称棋逢对手!
- 工业互联网|自媒体的底层逻辑
- jvm|利润下滑67%,鸿蒙增长变慢,华为迎来“黎明前的黑暗”
- jvm|到手4499元,新一代4nm+5000mAh大电池旗舰,开始退场了
- jvm|vivo X80正式到来,影像、性能表现迎来全方位提升
- OceanBase提升软硬件运行效率,从底层架构实现“绿色减碳”186
- flyme9|魅族手机系统再次更新:带来多项新功能,可惜仍基于安卓11底层
- jvm|3199的OPPOK10Pro对比2499的K10,差价是由哪些东西带来的?