JIT编译器
java从源代码到运行的过程如下图:
.java -> javac编译 -> .class -> 解释器&JIT -> 机器可理解的代码
需要注意的是.class -> 机器码 这一步。JVM类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对比较慢。
且有些方法和代码块是经常需要被调用的(也就是所谓的热点代码),所以后面引入了JIT编译器,而JIT属于运行时编译。
当JIT编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可直接使用。
机器码的运行效率肯定是高于JAVA解释器的。