written in front
This article belongs to the column "100 Questions to Solve the Java Virtual Machine". This column is original by the author. Please indicate the source for the reference. Please help point out the shortcomings and mistakes in the comment area, thank you!
For the directory structure and literature citations of this column, please refer to 100 questions to solve the Java virtual machine
answer
JIT 对 Java 编译的基本单元是整个方法,通过对方法调用的计数统计,甄别出热点方法,编译为本地代码。
常见的优化手段有方法内联,去虚化,基于逃逸分析的栈上分配,锁消除和标量替换,字段读取存储优化,死代码消除,和循环优化相关的循环判断外提以及循环剥离,
向量化优化,还有HotSpot 虚拟机中的 intrinsic 机制。
method inlining
Under what circumstances will a method call be inlined?
deblurring
What is the devirtualization of the just-in-time compiler?
On-stack allocation, lock elimination and scalar replacement based on escape analysis
Field read storage optimization
What is the optimization of the just-in-time compiler for field read and store instructions?
Loop judgment and loop stripping related to loop optimization
vectorization optimization
What is the vectorization optimization of the just-in-time compiler? What exactly are SIMDs?