我将为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林:
可以使用以下命令克隆相应的主林jdk8u:
另外,可以通过克隆8u主目录林
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev;cd jdk8u-dev;sh get_source.sh .
并使用'hg clone http://hg.openjdk.java.net/jdk8u/jdk8u;cd jdk8u;sh get_source.sh .
'mercurial标签来获得最新版本8u102的源代码。但是看来jdk9和jdk10也在列表中。它们是最新的源代码,如何下载?
JDK9页面未提供有关如何获取源代码的说明。
JDK9:http://hg.openjdk.java.net/jdk9
JDK10:http://openjdk.java.net/projects/jdk10/
此外,如果Java Community发布了新的更新,那么更新当前源代码的最佳方法是什么?重新下载还是使用Mercurial工具?
jdk源代码中的
http://hg.openjdk.java.net/jdk8u/jdk8u
是什么?它类似于git中的jdk8u102-b14
吗?另外,我可以找到另一种从JetBrains的github下载JVM Hotspot源代码的方法:
https://github.com/JetBrains/jdk8u_hotspot/tree/d37547149a7c5647ebffbbb62525cc62bd8e2673
但是我不确定这是最新的。
最佳答案
这取决于您所说的“最新”。
实际上,所有jdk8u,jdk9和jdk10信息库都保持最新状态。它们只是具有不同状态和接受不同更改集的单独项目。
jdk8u的最新更改将出现在JDK 8的未来更新中。这些更新主要包括错误修复。
jdk9存储库包含最新代码,这些代码将在JDK 9上发布。该项目现在处于Rampdown阶段2,这意味着仅showtopper错误可以在那里进行修复。尚未定义JDK 9发布后该存储库将发生什么-例如开始使用诸如jdk9u之类的东西。
jdk10包含有关Java SE平台未来版本的正在进行的工作。这里所做的重要改进很可能会在以后的某个时候移植到jdk9(当然,如果它们符合规范)。
请注意,新功能不是直接在此存储库中开发的。新功能必须通过JEP process。一些更大的功能甚至可以托管在单独的项目中,例如Panama或Valhalla。
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存储库中有一个similar document。