一、新建一个Java工程
二、解压jdk源码src.zip,并复制到项目中
1. 源码位置(如图,src.zip就是源码文件)
2. 解压
3. 复制到新建项目中(如图,其位于com.learn.source目录下,后面设置源码位置的时候也必须是这个路径)
三、IDEA Debug调试设置
默认的IDEA 调试是不会进入到 jdk 的源代码的,在 Debugger 设置中允许进入到 jdk 的包,如图,取消这个勾选。
四、取消JDK源码保护(方便添加注释)
默认的,JDK源码是不能被修改的,这样我们需要自己在源码上写一些注释什么的就不太方便。如图,在SDKs中选择删除(-)系统JDK源码文件src.zip,然后添加(+)我们自己的源码项目路径,同复制时的目录。
五、编译时内存设置,避免编译时提示“系统资源不足”,默认是700M,设置大点就行
六、测试
在测试包写个测试类,看看能否正常运行
七、可能遇到的问题
1. 缺少com.sun.tools包
解决方法:File -> Project structure -> Libraries 把jdk路径下的lib包添加到工程中,如图:
2. 缺少sun.awt.UNIXToolkit 和 sun.font.FontConfigManager这两个类
解决方法:在src的目录下手动添加这两个类
这两个类的源码地址:http://hg.openjdk.java.net/
或 http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/d5c320d784e5/src/solaris/classes/sun/awt
如下图,文件上方为文件路径,点击OpenJDK选择适合自己的版本然后进入相同目录
代码已经提交到github上, 谢谢大家fork和关注
github: https://github.com/wangyinxiang/javaSourceLearn
感谢观看