以前有句话说:“Java是解释执行的 ” .现在看来确实不是很准确,至于原因,在此简略解释: 首先,我们先解释一下在Java中解释执行和编译执行的区别. 解释执行:将编译好的字节码一行一行地翻译为机器码执行. 编译执行:以方法为单位,将字节码一次性翻译为机器码后执行. 在编译示时期,我们通过将源代码编译成.class ,配合JVM这种跨平台的抽象,屏蔽了底层计算机操作系统和硬件的区别,实现了“一次编译,到处运行” . 而在运行时期,目前主流的JVM 都是混合模式(-Xmixed),即解释运行 和