JVM::晚期(运行期)优化

本文参考周志明老师的《深入理解Java虚拟机》

一.HotSpot即时编译器

1.解释器和编译器

快启动——解释器

快执行——编译器

JVM::晚期(运行期)优化

分层编译:

第0层:解释执行。

第1层:将字节码编译为本地代码。(更快的速度)

第2层:基于第一层的优化。(更高的质量)

2.编译对象和触发条件

JVM::晚期(运行期)优化

JVM::晚期(运行期)优化

3.编译过程

JVM::晚期(运行期)优化

二.编译优化技术

1.基本套路

第一步:方法内联。

第二步:冗余访问消除/公共子表达式消除。

第三步:复写传播。

第四步:无用代码消除。

2.公共子表达式消除搭配代数从简

3.数组边界检查消除

4.方法内联

5.逃逸分析

激进优化—逃生门—守护内联