【发布时间】:2010-09-29 11:21:03
【问题描述】:
是否可以像浏览 SourceForge 的项目一样在线浏览 OpenJDK 的源代码?我以前从未使用过 Mercury,所以我感到很困惑。
(注:我不想下载源码,只是想上网浏览一下,看看有些方法是怎么实现的。)
【问题讨论】:
是否可以像浏览 SourceForge 的项目一样在线浏览 OpenJDK 的源代码?我以前从未使用过 Mercury,所以我感到很困惑。
(注:我不想下载源码,只是想上网浏览一下,看看有些方法是怎么实现的。)
【问题讨论】:
OpenJDK 现已在 GitHub 上:https://github.com/openjdk/jdk
这是一个大项目,但你会在jdk/src/java.base/share/classes下找到核心类的实现。
例如,您可以找到the implementation of java.util.List here。
如果您需要浏览旧版本,您仍然需要使用old Mercurial interface。
如果您不习惯,那里的 Mercurial 界面会很混乱,而且由于这是一个大型项目,因此很难找到您要查找的内容。
这是一个例子:
要查找JDK6实现java.util.List,选择jdk6,jdk,选择浏览。然后浏览到src/share/classes/java/util/List.java。
你最终应该在http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/java/util/List.java
【讨论】:
最新的JDK 8 OpenJDK Java类库源代码可以在这里找到:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/classes/
【讨论】:
这是获取Openjdk 8(或任何现有java版本)源代码的最新或任何发布版本的基本步骤,并在Eclipse中使用它们.
步骤:
tags
jdk8u73-b02
browse,src/share/classes,bz2 / zip / gz 之一,以下载相关压缩格式的源代码,(例如zip 格式的jdk8u73-b02,URL 将为:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/archive/2ab13901d6f1.zip/src/share/classes/ )cd jdk-2ab13901d6f1/src/share/,然后zip -r openjdk_8u73_b2_src.zip classes/)mv openjdk_8u73_b2_src.zip /media/Eric/software/java/jdk/openjdk/openjdk8u73-b02/source/)rt.jar,ctrl + shift + t,然后输入Cancellable,选择对应安装jre的sun.nio.fs.Cancellable,
如果有源代码就很好了,因为jdk_home/src.zip中没有这个源,一定是来自额外的openjdk源,【讨论】:
这是一种浏览存储库并仅查看所需部分的方法。 http://hg.openjdk.java.net/ 你问的是这个吗?
【讨论】:
将“/file”附加到根 URL 以查看浏览器,如下所示:
【讨论】:
Grepcode.com 非常适合类似的事情 - 不仅是 OpenJDK 源代码,还可以直接在突出显示的代码中搜索类/方法和类之间的链接:
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/net/Socket.java
【讨论】:
正如其他答案中提到的,源代码存储库位于https://hg.openjdk.java.net
不过,OpenJDK 团队镜像了 GitHub 上的一些项目:https://github.com/openjdk
包括最新的Java版本项目(https://hg.openjdk.java.net/jdk/jdk):https://github.com/openjdk/jdk
【讨论】:
当然http://hg.openjdk.java.net 是一个不错的选择。另一个同样好的来源是 zGrepCode https://zgrepcode.com/java/openjdk/ 。它有 Open JDK 和 Oracle java 版本。
【讨论】: