就是将java代码编译为class字节码
语法糖
hotspot内置两个编译器C1和C2,解释器和编译器搭配使用的方式在虚拟机中称为“混合模式”(Mixed Mode) c1编译器获取更快的编译速度,c2获取更高的编译质量。在虚拟机执行架构中,解释器与编译器经常配合工作。
-
参数 -Xint 强制虚拟机为解释模式(Interpreted mode),这时编译器完全不介入。
-
参数 -Xcomp强制为编译模式(Compiled Mode)
分层编译策略 JDK7默认开启
栈上替换(On Stack Replacement --OSR),即方法栈帧还在栈上,方法就被替换了。
判断一段代码是不是热点代码称为热点探测
-
基于采样的热点探测
-
基于计数器的热点探测--目前用的是这种