【问题标题】:Is JVM open source code?JVM是开源代码吗?
【发布时间】:2011-01-02 19:44:42
【问题描述】:

JVM 是开源代码吗?如果没有,如何获取JVM的代码?

【问题讨论】:

  • JVM 是一个规范!其中有不同的实现

标签: java jvm


【解决方案1】:

在这里查看热点 JVM:http://openjdk.java.net/groups/hotspot/

【讨论】:

  • 然而,开始指导 Java 运行方式的最佳位置是 src.zip,只有在您熟悉了大多数关键类之后,您才能进入热点模块。
  • @PeterLawrey 我可以问你一些吗?看了src\share\native\java\lang\Thread.c后发现,原生方法interrupt0的实现是在JVM_interrupt中挖的。我在哪里可以找到它的来源?是来自热点吗?
  • 似乎那里的存储库浏览链接不起作用。这样做:github.com/openjdk-mirror/jdk7u-hotspot
  • 答案不应仅包含链接
【解决方案2】:

这完全取决于你使用的 JVM。

如果你使用OpenJDK JVM,那么你可以从here获取源代码。
如果你使用 Kaffe JVM,你可以从here获取源码。
如果您使用 Sun JVM 版本 6 或更高版本,则可以从here 获取源代码。

如果您使用早于 6 的 Sun JVM,那么您通常可以在学术许可下获得源代码。如果您使用 IBM、Oracle、HP 或其他 JVM,则源代码未打开。

2013 年 5 月更新

仍然可以通过上述链接访问第 6 版源,也可以通过 this link 访问。后一个链接还包括一个方便的 genealogy 表,该表显示了 Oracle JDK 和 OpenJDK 版本如何相互匹配。

此外,可以在here 找到更新版本的 Java 7 源代码。这还包括自 GA 以来对 Java 7 版本的修复。

毫无疑问,Java 8 源代码可以在 here 找到。

【讨论】:

    【解决方案3】:

    JVM的核心部分在OpenJDK的热点模块中。但是,您需要的内容更有可能在 src.zip 中。

    这些类之外的热点模块是

    • 主要使用 C++
    • 并不总是那么容易理解。多年来,这种情况有所改善,新代码往往会更好,因为他们更加意识到代码将有更广泛的使用。
    • 通常不是您想要的。

    因此,如果您想了解 JVM 是如何运行的,最好查看常用的类。例如,即使是像 lambdas 在运行时真正如何工作这样低级别的东西,大部分都在 src.zip 中,而在 JVM 中却很少。

    大多数库的源代码都随 src.zip 文件中的 JDK 一起提供。您的 IDE 将自动使用它。熟悉这些库中的类比使用 JDK 本身要好得多。

    【讨论】:

    • giri 询问的是 JVM,而不是 JDK。
    • 是的,他想要的是 JVM,而不是 JDK 源代码,所以你现在搞砸了。
    • 我再次检查了一遍,只为你。不,JVM(所谓的热点 JVM,java 字节码解释器)的源代码不在 src.zip 中。在 src.zip 中,只有 JDK 的源代码,它是标准系统库集合。你真的不明白其中的区别吗?
    • OP 要求提供 JVM 的源代码。它不存在,它位于 oracle 的公共网络的一个 mercurial 存储库中。你见过这个 src.zip 吗?在你的生活中?曾经吗?
    • 我认为有一个非常简单理智的答案:“对不起,也许我在 4 年前真的误解了这个问题”,然后我回答说,“没问题,兄弟”。我只是在 google 找到这个问题后才感到沮丧,并且连续找到 4 个 BAD 答案,所有这些答案都来自老的 20k + SE 用户。
    【解决方案4】:

    没有开源 jvm,即使你无法绕过 Oracle 愚蠢的类路径异常。简而言之,openjdk 仍然与 $$ 驱动的方案相关联,迫使您与商业虚拟机抗衡。与 Microsoft 没有什么不同,您可以在他们甚至免费提供 .net 库的任何操作系统下使用 C#,但保持对 Visual Studio 的控制,这实际上迫使最终用户使用 Windows 作为所选环境。

    【讨论】:

      猜你喜欢
      • 2014-08-06
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      相关资源
      最近更新 更多