10

当甲骨文就 Dalvik VM 起诉谷歌时,很明显,没有甲骨文的许可,你不能实施 Java 虚拟机(编辑:Matthew Flaschen 指出,甲骨文的说法可能无效。无论如何,我们目前有一种情况,甲骨文威胁 VM 实现。)。这可能成为 Java 的开源实现(如Apache Harmony)的死亡。

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

我正在寻找的虚拟机应该满足一些条件:

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

请为我添加一些建议。

4

3 回答 3

6

LLVM是一个非常好的优化、低级虚拟机。它可以支持像 C 和 C++ 这样的语言,并且没有内置对垃圾收集等高级功能的支持。

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

HLVM是建立在 LLVM 之上的另一个有趣的高级虚拟机。它可能足以避免大多数知名专利,但它主要针对数值计算和函数式编程。

在动态类型方面,有Parrot

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

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

于 2010-08-30T13:42:14.350 回答
4

我认为没有任何重要的软件没有专利问题。

如果您是独立开发人员或为较小的公司工作,您可能不会直接受到这些问题的影响。持有专利的大公司不太可能追求大量的小额索赔——这是一个昂贵的过程,会引起很多不满。SCO尝试了类似的方法,但对他们来说效果并不好。

我会专注于寻找最适合这项工作的工具,而不必过多担心专利问题,否则您将永远无法完成任何工作。

于 2010-08-30T13:33:28.330 回答
2
于 2019-04-08T08:41:07.107 回答