如果我们想将源Java文件运行,需要进行如下步骤:
- 使用类加载器将Java文件实时编译成class文件,也就是字节码指令
- 使用JVM将编译后的字节码指令,解释为机器码,这是计算机可以直接执行的指令
- 计算机直接执行
但是这其中由于class文件到机器码之间不断的转换会消耗相对大量的时间,导致Java的执行,效率不如c等其他语言
于是JVM加入了一款新的技术,JIT---(Just In Time)
什么是JIT?
即时编译,意思就是在运行时JVM如果发现一段代码的字节码被短时间内反复不断的多次执行了,也就是热点代码,
JVM会自动在内存中缓存这段热点代码的机器码指令,若短时间内再出现热点代码被调用的场景则JVM会直接从内存中取出
热点代码的机器码指令执行,这便是JIT,因为JIT,JVM的运行效率将大大提升。