jvm - 是否可以使用 pypy 将 Java 字节码编译为 native 代码?

标签 jvm pypy

pypy 目前使用 Pluggable JIT 和 GC 将 Rpython 转换为 Native 代码。目前它有一个Python前端。我想知道是否可以为 pypy 编写一个 Java 字节码前端,从而制作一个替代的酷 JVM(用 (R)Python 编写)

最佳答案

Java 字节码的 RPython 解释器不会是 Java 字节码到 native 代码的编译器。 RPython 代码被编译为 native 代码,而不是解释器正在解释的代码。

在运行时(某些)解释的代码将被 JIT 编译为 native 代码,但这完全不同,并且 HotSpot VM 已经这样做了。鉴于 HotSpot 已经开发了很长一段时间,背后有大量的资源,并且专门针对 Java 进行了调整,我怀疑您是否可以从 PyPy 中得到任何接近它的东西。

PyPy 的优势在于您可以将垃圾收集器和 JIT 编译器等内容编写为一个框架,该框架独立于您正在解释的语言工作。然后很多人可以为很多语言编写很多解释器,并以相当高级的易于编码的方式编写它们,但它们仍然可以获得高质量的 GC、JIT 编译器等,而无需专门实现它们每种语言。 PyPy 不太可能成为现有项目的合理替代品,现有项目已经投入了大量资源来开发专门针对其语言进行调整的高度优化的 GC 和 JIT 编译器。

关于jvm - 是否可以使用 pypy 将 Java 字节码编译为 native 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9469995/

相关文章:

java - 如何在 JVM 中捕获 OutOfMemoryError 并在捕获时运行脚本?

performance - 在 Hadoop mapreduce 作业中重用 JVM

python - 在 Python 中,我如何测试解释器是否正在运行 Pyston、Jython、CPython?

python - 翻译在pypy中是什么意思?

python - 是否有 numpy.save(file, arr) 的替代方法可以与 pypy 一起使用?

java - Younggen 会抛出内存不足错误吗?

java - 在Java中,构造函数中的final字段赋值涉及到哪些操作?

java - 基于 CLR 的 JVM,反之亦然

python-2.7 - 派皮: "ImportError: No module named xlrd"

python - 使用 cython 或 PyPy 优化元组/列表(用 python 实现的图论算法)