当甲骨文通过Dalvik VM起诉Google时,很明显,未经Oracle许可,您不能实现Java VM(编辑:Matthew Flaschen指出,甲骨文的主张可能无效。无论如何,我们目前处于一种情况下,甲骨文威胁到VM的实现。)。这可能会成为Java的开源实现(例如Apache Harmony)的死亡。

我不想讨论此诉讼的影响或合法性。但是作为一名Java程序员,我想更深入地研究替代方案,以便为每种情况做好准备。当我将编译器的创建视为一个小问题时,我的主要兴趣是替代的VM实现,其实现与JVM相似的目的。

我要寻找的VM应该满足一些条件:

  • 没有专利授权书
  • 存在一个开源实现
  • 潜在的优化/良好性能
  • 独立于平台(可以将VM移植到不同平台而没有更大的障碍)

  • 请为我添加一些建议。

    最佳答案

    LLVM是一个非常好的优化底层虚拟机。它可以支持C和C++之类的语言,并且未内置对垃圾收集等高级功能的支持。

    VMKit是LLVM之上的Java和CLI虚拟机的实现。由于它使用Java字节码,因此这可能无助于解决专利问题。

    HLVM是在LLVM之上构建的另一个有趣的高级虚拟机。它可能与避免大多数众所周知的专利有所不同,但是它主要针对数值计算和函数编程。

    在动态类型化的一侧,有Parrot

    我实际上正在为自己设计的语言开发编译器和VM,但不要指望它能完成。 ;-)

    请记住,任何大型软件都会侵犯众多专利,重要的是它们的知名度(以及专利拥有者积极寻找侵权者的程度)。当然,整个专利制度是荒谬的,而摆脱它会更好。

    10-07 19:32
    查看更多