即时编译器(运行时编译,属于动态编译),编译成本地代码,执行效率高。(类比为 坐公交,速度快,但是需要”等公交”(编译))。虽然带来了缺陷,就是在执行之前需要编译时间。
这里说说,jit存在的背景:
- 通过搜集runtime信息, 识别出程序的热点代码(2/8原则)
限制条件:
:: 分类
- C1 —client, 更快的编译速度
- C2 —server, 更好的编译质量
- Grall ,实验性
问题
Q: 为什么不AOT, 这样就不需要在执行时进行编译了?
A: 有提前AOT的编译器,这就要涉及到有哪些场景不能进行提前编译。
以解释器是相对的,