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

sky*_*ree 1 java jvm jvm-hotspot

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

\n\n

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

\n\n

首先,我访问http://openjdk.java.net/

\n\n

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

\n\n
Source code: \nMercurial \nBundles\n...\nJDK 6\nJDK 7\nJDK 7 Updates\nJDK 8 \xc2\xb7 Java SE 8\nJDK 8 Updates\nJDK 9 \xc2\xb7 Java SE 9\nJDK 10\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

地位

\n\n

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

\n\n

源代码

\n\n

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

\n\n

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

\n\n

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

\n\n
\n\n

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

\n\n

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

\n\n

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

\n\n
\n\n

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

\n\n
\n\n

forestjdk源码里有什么?是否类似于branchgit\xef\xbc\x9f

\n\n
\n\n

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

\n\n

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

\n\n

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

\n

apa*_*gin 5

这取决于您所说的“最新”是什么意思。

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

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

    请注意,新功能不是直接在此存储库中开发的。新功能必须经过JEP流程。一些更大的功能甚至可能托管在单独的项目中,例如巴拿马瓦尔哈拉

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

hg clone http://hg.openjdk.java.net/jdk10/jdk10
Run Code Online (Sandbox Code Playgroud)

它包含几个嵌套存储库。HotSpot JVM 位于hotspot

hg clone http://hg.openjdk.java.net/jdk10/jdk10/hotspot
Run Code Online (Sandbox Code Playgroud)

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

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