代码之家  ›  专栏  ›  技术社区  ›  Mnementh

Java虚拟机的替代方案是什么?

  •  8
  • Mnementh  · 技术社区  · 14 年前

    Apache Harmony ).

    我要找的虚拟机应该满足以下条件:

    • 无专利问题
    • 优化潜力/良好性能
    • 独立于平台(虚拟机可以移植到不同的平台,没有更大的障碍)

    3 回复  |  直到 9 年前
        1
  •  6
  •   Zifre    14 年前

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

    VMKit 是LLVM之上的Java和CLI虚拟机的实现。由于它使用Java字节码,这可能对专利问题没有帮助。

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

    Parrot .

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

        2
  •  4
  •   Mark Byers    14 年前

    我不认为有任何重要的软件是免费的专利问题。

        3
  •  2
  •   Panagiotis Drakatos    4 年前

    GraalVM 是一个由甲骨文实验室开发的研究项目,已经在Twitter上投入生产。我不敢相信我的眼睛竟然没人提起它,太奇怪了。不管怎样, java虚拟机是一个非常有前途的扩展,以支持更多的语言和执行模式,如JavaScript、Python、Ruby、R、JVM等语言,以及基于LVM的语言,如C++和C++。 格拉尔文 该项目包括一个新的高性能Java编译器,它本身称为Graal,可以在HotSpot VM上的即时配置中使用,也可以在SubstrateVM上的提前配置中使用。该项目的主要目标是提高java虚拟机基础语言的性能,以匹配本地语言的性能。让我们总结一下这个项目所提供的新颖特性,并根据文档简要说明为什么要采用它。

    • 多语言文字: 所有语言(甚至基于LLVM)共享相同的VM及其功能。编程语言之间的零开销互操作性允许您编写多语言应用程序并为您的任务选择最佳语言
    • 使用GraalVM提前编译的本机映像可以缩短基于JVM的应用程序的启动时间并减少内存占用。
    • GraalVM可以嵌入到托管和本机应用程序中。现有的OpenJDK集成,节点.js,Oracle数据库和MySQL GraalVM消除了编程语言之间的隔离,并在共享运行时实现了互操作性。它可以独立运行,也可以在OpenJDK的上下文中运行,节点.js,Oracle数据库或MySQL。
    • 性能: Graal基准测试报告显示,由于GraalVM执行对象分配的方式,它几乎在所有实现中都有很大的性能改进

    talk 作者:Christian Thalinger on 为什么Graal很适合Twitter