【问题标题】:How to download the most updated java virtual machine(Hotspot) source code?如何下载最新的java虚拟机(Hotspot)源码?
【发布时间】:2017-06-06 19:56:35
【问题描述】:

我将为 Java 社区做出贡献,我对 JVM 很感兴趣。

现在我想下载最新的 JVM Hotspot 源代码并跟踪更新。

首先,我去http://openjdk.java.net/

在它的左侧我发现了一些有用的标签

Source code: 
Mercurial 
Bundles
...
JDK 6
JDK 7
JDK 7 Updates
JDK 8 · Java SE 8
JDK 8 Updates
JDK 9 · Java SE 9
JDK 10

我只能找到有关如何下载JDK8u源代码的说明:http://openjdk.java.net/projects/jdk8u/

状态

我们在 jdk8u-dev 森林中对 8u152 的修复开放。 (发帖时间为2017-06-06 14:23:36

源代码

可以使用以下命令克隆用于持续开发的 jdk8u-dev 森林:hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev;cd jdk8u-dev;sh get_source.sh .

对应的主林jdk8u可以用这个命令克隆:hg clone http://hg.openjdk.java.net/jdk8u/jdk8u;cd jdk8u;sh get_source.sh .

此外,通过克隆 8u 主林:http://hg.openjdk.java.net/jdk8u/jdk8u 并使用 'jdk8u102-b14' mercurial 标签,可以获得最新版本 8u102 的源代码。


但似乎jdk9和jdk10也在名单上。它们是最新的源代码吗?如何下载它们?

JDK9 页面没有提供有关如何获取源代码的说明。 JDK9:http://hg.openjdk.java.net/jdk9

JDK10:http://openjdk.java.net/projects/jdk10/


此外,如果 Java 社区发布了新的更新,那么更新我当前源代码的最佳方式是什么?重新下载还是使用 Mercurial 工具?


jdk 源码中的forest 是什么?是不是类似于git中的branch


另外,我可以在 JetBrains 中找到另一种从 github 下载 JVM Hotspot 源代码的方法:

https://github.com/JetBrains/jdk8u_hotspot/tree/d37547149a7c5647ebffbbb62525cc62bd8e2673

但我不确定这个是最新的。

【问题讨论】:

    标签: java jvm jvm-hotspot


    【解决方案1】:

    这取决于您所说的“最新”

    实际上,所有 jdk8ujdk9jdk10 存储库都保持最新;它们只是具有不同状态并接受不同更改集的独立项目。

    • jdk8u 包含最新的更改,这些更改将出现在 JDK 8 的未来更新中。这些更新主要包括错误修复。
    • jdk9 存储库包含将在 JDK 9 之后发布的最新代码。该项目现在处于 Rampdown 阶段 2,这意味着只能在那里修复 showstopper 错误。尚未定义在 JDK 9 发布后此存储库会发生什么 - 例如。开始使用 jdk9u 之类的东西。
    • jdk10 包含在 Java SE 平台的未来版本上正在进行的工作。此处所做的重要改进可能会在稍后的某个时间向后移植到 jdk9(当然,如果它们符合规范的话)。

      请注意,新功能不是直接在此存储库中开发的。新功能必须通过JEP process。一些更大的功能甚至可能托管在单独的项目中,例如 PanamaValhalla

    OpenJDK 项目的官方仓库托管在http://hg.openjdk.java.net
    要获取来源,请使用 Mercurial,例如

    hg clone http://hg.openjdk.java.net/jdk10/jdk10
    

    它包含几个嵌套的存储库。 HotSpot JVM在hotspot下:

    hg clone http://hg.openjdk.java.net/jdk10/jdk10/hotspot
    

    稍后您可以使用hg pull -u 将本地存储库与主存储库的更新同步。

    在父存储库中,您还可以找到如何获取源代码和构建 OpenJDK 的说明:common/doc/building.md。 jdk9 repo中有一个similar document

    【讨论】:

    • 谢谢!很好的解释!
    猜你喜欢
    • 2018-06-07
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2014-10-12
    相关资源
    最近更新 更多