如何下载最新的java虚拟机(Hotspot)源代码?

时间:2017-06-06 19:56:36

标签: java jvm jvm-hotspot

我将为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

但我不确定这是最新的。

1 个答案:

答案 0 :(得分:4)

这取决于'最新更新' 的含义。

实际上,所有 jdk8u jdk9 jdk10 存储库都保持最新状态;它们只是具有不同状态并接受不同变更的单独项目。

  • 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