【发布时间】:2010-09-20 15:13:04
【问题描述】:
我想看看Java是如何实现LinkedList的。应该去哪里看源码?
【问题讨论】:
-
是jdk的源码,不是jvm。
标签: java linked-list
我想看看Java是如何实现LinkedList的。应该去哪里看源码?
【问题讨论】:
标签: java linked-list
【讨论】:
从http://java.sun.com/javase/downloads/index.jsp 安装 Java SE 开发工具包。
安装后,您应该会在 JDK 安装目录的顶部找到一个名为 src.zip 的存档。 Java源代码在里面。
文件是java/util/LinkedList.java。
更新:您可能还想访问在线OpenJDK Source repository。请参阅下面的this answer。
【讨论】:
我会说从 OpenJDK repository 开始,但我看不到任何 LinkedList 对象。
【讨论】:
你有docjar中的来源:
【讨论】:
如前所述,如果您在安装过程中选择了 src.zip 文件,那么您已经随 Sun JDK 一起安装了它。 此外,如果您使用 eclipse 并将 JDK 添加到您的 JRE 列表中,它会自动将源附加到 jar 并且如果您尝试使用 Ctrl+Shift 打开一个类+T(Open Type),你输入LinkedList,它会显示类的代码。
【讨论】:
如果你有 JDK,你可以在 src.zip 文件中找到源代码。
如果您有 IDE,您只需 ctrl+click 或类似的方法即可查看您想要查看其定义的类/方法。
【讨论】:
来源托管在hg.openjdk.java.net。您可以在src/share/classes 下找到特定 JDK 版本的库源。例如,java.util.LinkedList 的 JDK 8 源代码位于:
hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/classes/java/util/LinkedList.java
您可以按照说明here 探索源代码。
【讨论】:
grepcode.com 拥有几乎所有开源项目的源代码。 它还提供了常见的 IDE 功能,例如查找用法、派生类型等。
在这里您可以找到 LinkedList 源: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/LinkedList.java/
【讨论】:
查看 java 源代码的最佳方式是安装 Intelli-J 社区版。创建一个新的 Java 项目并在您的项目中创建一个新类。 类里面如果想看LinkedList的源码,新建一个LinkedList对象,如下:
public class LinkedListWatch{
public static void main(String[] args){
LinkedList linkedList = new LinkedList();
}
}
现在ctrl + mouse left click 上LinkedList 类,将带你到LinkedList 源代码。
你可以探索很多东西,它可能非常有用。
你也可以看看 Stack 类的实现;很有帮助。
享受搜索java开源代码的乐趣。
【讨论】:
zGrepCode 有一个 Java 开源代码的在线目录。以下是可用的 Sun Java 类:https://zgrepcode.com/java/openjdk/10.0.2/java.base/sun/
这里是LinkedList 的实现代码。希望对您有所帮助。
【讨论】: