【发布时间】:2012-07-18 22:29:45
【问题描述】:
我已经阅读了许多关于“解释”和“编译”的定义和陈述。但我还是很困惑。
从技术上讲,解释和编译之间的真正区别是什么?让我详细说明(请纠正我可能有的任何错误概念):
在java中,源代码被“编译”成字节码,然后被“解释”和/或“即时编译”成机器码。但是及时编译和解释之间有什么区别?我的意思是,最后,据我猜测,主机的 CPU 将只运行机器代码。因此,在解释中,指令也被转换为 CPU 可以理解的机器代码。那么,我们在哪里划定即时编译和解释之间的界限呢?
附:这是我的构想。这可能是完全错误的。在这种情况下,请原谅我的愚蠢并纠正我。
谢谢。
【问题讨论】:
-
编译只给你字节码。使用字节码,您可以从具有不同操作系统的不同 PC 上移动已编译的项目,Java 代码将在所有这些机器中以类似方式解释。这就是为什么你可以说 Java 代码是可移植的。
标签: java compilation interpretation