JVM::晚期(运行期)优化
本文参考周志明老师的《深入理解Java虚拟机》
一.HotSpot即时编译器
1.解释器和编译器
快启动——解释器
快执行——编译器
分层编译:
第0层:解释执行。
第1层:将字节码编译为本地代码。(更快的速度)
第2层:基于第一层的优化。(更高的质量)
2.编译对象和触发条件
3.编译过程
二.编译优化技术
1.基本套路
第一步:方法内联。
第二步:冗余访问消除/公共子表达式消除。
第三步:复写传播。
第四步:无用代码消除。
2.公共子表达式消除搭配代数从简
3.数组边界检查消除
4.方法内联
5.逃逸分析
激进优化—逃生门—守护内联