一、代码编译
开发人员写的是Java文件(.Java),编译后,转为字节码(.class)文件
Java源文件--》【编译器】--》字节码文件
二、装载字节码(.class)文件
字节码文件通过JVM中的编译器,编译为特定机器上的机器码
字节码文件--》【JVM】--》机器码文件
【注】:不同的机器可能会导致机器码文件不一致,但实现的虚拟机是相同的,所以最终的机器码文件保持一致,这是Java夸平台的原因
三、执行class
在机器码提供给CPU执行时,解释器的优点是安全性高,缺点为性能降低
解释执行:将编译好的字节码一行一行地翻译为机器码执行。
编译执行:以方法为单位,将字节码一次性翻译为机器码后执行。