写在前面
本文隶属于专栏《100个问题搞定Java虚拟机》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!
本专栏目录结构和文献引用请见100个问题搞定Java虚拟机
解答
JIT 对 Java 编译的基本单元是整个方法,通过对方法调用的计数统计,甄别出热点方法,编译为本地代码。
常见的优化手段有方法内联,去虚化,基于逃逸分析的栈上分配,锁消除和标量替换,字段读取存储优化,死代码消除,和循环优化相关的循环判断外提以及循环剥离,
向量化优化,还有HotSpot 虚拟机中的 intrinsic 机制。
方法内联
去虚化
基于逃逸分析的栈上分配,锁消除和标量替换
字段读取存储优化
和循环优化相关的循环判断外提以及循环剥离
在什么情况下循环代码会被优化?JVM 针对循环代码有哪些优化?