背景
以前debug jdk源码的时候,一直苦于没有源码,无法更加深入的了解一些机制。 这几天在看文章的时候,看到了两篇文章,让我眼前一亮阿
文章链接:
首先下载jdk 源码,我选的是sun jdk source:
http://download.java.net/jdk6/source/

这里几个代码对应关系:
- sa-jdi.jar 对应于: ${jdk_source}/hotspot/agent/src/share/classes
- tools.jar和rt.jar 对应于: ${jdk_source}/j2se/src/share/classes
- jsse.jar 对应于: ${jdk_source}/src/share/doc/stub/
ps : ${jdk_source}/j2se/src/solaris/native下有些本地代码的实现,比如nio , socket的代码实现等,有空翻翻也不错。
文章里提到一种方式,就是下载完成jdk源码后,通过选择External Folder引入对应的源码。
一个截图示意:

以后debug就不再是那么痛苦,后续会自己尝试去手工编译一次jdk , 这样会有更多的体会。 手工编译,有篇文章不错:
http://rednaxelafx.iteye.com/blog/875957
评论
这个写错了吧。
是# jsse.jar 对应于: ${jdk_source}/j2se/src/share/doc/stub/
在stub下,还真的有jsse.jar包中的部分源码,javax.*的源码
这个写错了吧。
是# jsse.jar 对应于: ${jdk_source}/j2se/src/share/doc/stub/