.java文件在编译后会生成字节码,而字节码是不能直接在硬件上运行的,因此虚拟机需要把字节码翻译成字节码。
.java
对HotSpot虚拟机而言,其翻译的方式有两种。
HotSpot默认采用混合模式,它会先对字节码进行解释执行,同时也会将多次执行的热点代码以方法为单位进行即时编译。即时编译在单独的线程中进行,并且对一个方法的解释执行和即时编译可以同时进行,即时编译完成后的方法在下一次被调用时就会以机器码的形式执行。