查看java源代码

有没有办法查看Java中的默认类( java.awt.*; javax.swing.*;等)背后的实际代码,看看它到底发生了什么?

我并不仅仅是文档或方法列表等,而是源代码本身的全部细节(换句话说,如果复制并粘贴到整个方法/类中,可以用来创建整个方法/类的精确副本) Java中程序的代码)。

所有API类的Java源代码都在JDK安装程序中附带一个名为src.zip的文件中。 它通常只是坐在您的安装目录中。 解压缩,然后看看。

如果它不在那里,你可能选择不安装它; 重新安装JDK并注意“源代码”选项,确保包含它。

我经常使用http://docjar.com来达到这个目的。

示例:我想查看String的源代码。 搜索FQCN, java.lang.string (使用“Package / class Name”选项)。 单击所需的结果,然后单击页面顶部的source链接。 Voila: http : //www.docjar.com/html/api/java/lang/String.java.html

src.zip通常附带JDK。

我也发现http://www.codatlas.com是一个寻找基于JVM的源代码的好地方。 例如,如果您正在寻找如何实现java.awt.ActionEvent,您可以在此处找到它:

http://www.codatlas.com/project/L_fXVCOhW4_lzXEd3R5DNQ__/master/src/share/classes/java/awt/event/ActionEvent.java?keyword=ActionEvent&line=59

它的优点在于它通过添加交叉引用和语法高亮来提供类似浏览体验的IDE。

对于那些使用linux发行版的人,比如ubuntu,archlinux等。你总是可以通过相应的包管理系统获得openjdk源代码 。 这意味着您可以选择更快的镜像来获取源代码。

对于ubuntu用户:

 $ sudo apt-get install openjdk-7-source 

对于Archlinux用户:

 $ sudo pacman -S openjdk7-src 

源代码将位于$JAVA_HOME ,例如/usr/lib/jvm/java-7-openjdk/src.zip

其他发行版也有类似的包名,所以这里没有列出。

1)使用Eclipse将源代码附加到C:\ users \ program files \ jdkx.x中
2)如果您只是浏览代码并使用重量级日食在您的计算机上使用的内存,请使用GrepCode