【发布时间】:2015-06-02 05:13:16
【问题描述】:
据我了解,默认的 Python 解释器 (CPython) 会将源代码编译为字节码,然后将字节码解释为机器码。
另一方面,PyPy 使用 JIT 将经常解释的字节码优化为已编译的机器码。这与 JVM 有何不同? JVM是一个解释器+编译器。它将源代码编译为字节码,然后将经常解释的字节码优化为已编译的机器码。
还有其他区别吗?
【问题讨论】:
-
JVM 是一个虚拟机,而不是解释器+编译器。 Java 编译器将源代码编译为字节码。
-
这真的很广泛。 JVM 和 PyPy 是完全不同的程序。它们在运行代码和使用相似技术的广义上是相似的,但在各种层面上都有很多差异。这就像问两座摩天大楼之间有什么区别。
-
不是完全相同的问题,但足够接近,因此信息应该是有价值的。 stackoverflow.com/questions/441824/…
标签: python compilation jvm interpreter vm-implementation