Java虚拟机(JVM)是运行Java字节码的虚拟机
JVM可以理解的代码叫做字节码(.class文件)
Java程序从源代码到运行一般分3步 : .java文件 -> .class文件 -> 机器可以执行的二进制机器码
字节码到机器码的过程中,JVM 类加载器首先加载字节码文件,然后通过解释器 逐行解释执行,这个方式的执行速度会比较慢,而且,有些方法和代码块是经常被调用,所有后面引进了JIT编译器,而JIT属于运行时编译。当JIT编译器完成第一次编译后,会将字节码对应的机器码保存下来,下次可以直接使用。所以说java是编译与解释共存的语言。