这里阅读 jdk1.8 源码使用的是 IntelliJ IDEA 2019.3.5
新建 Java 项目
创建完的目录结构如下图:
如下图是 jdk 安装目录的结构:
src.zip 就是 jdk 的源码,把这个压缩包解压到新建的 Java 项目的 src 目录下,结构如下图:
新建一个 src 目录的同级目录 test,放测试代码用,这里记得右键标注 test 目录为测试目录:
设置一下源码路径,先新建一个 jdk,如下图:
这里点完确定之后,选到 SourcePath 下边,修改源码路径,默认是安装目录的那个 src.zip 压缩包,删除这个压缩包:
添加刚才新建项目的 src 目录进来:
这里我的 sdk 搞了两个,一个是原本的,一个是源码用的,不影响别处。
修改一下当前项目用的 sdk,修改为新建的源码 sdk,先设置语言等级:
设置 sdk,选择刚才新建的 sdk
在刚才的测试目录下新建一个测试类:
运行一下,这里会报系统资源不足,设置一下堆大小,菜单路径(File–>Settings):
把这个 Build process heap size(Mbytes)
项设置为 1700,我这样是够了,再运行一下:
报错了,有两个类 sun.awt.UNIXToolkit
和 sun.font.FontConfigManager
找不到,这里是去 OpenJDK 找到复制过来的 sun.awt.UNIXToolkit 和 sun.font.FontConfigManager
复制过来如下图:
再次运行:
又报错了,这次是少了 jdk 安装目录下的 lib 包了,添加进来:
点完 ok 之后弹出下图,继续 ok:
ok 之后如下图:
再次点击 ok,之后运行一下,这次时间比较长,要编译源代码:
好了,成功运行,来打个断点试一下:
此时点击 setp into 按钮并没有进到代码里去,这里设置一下,File --> Settings:
再次 debug,完美进入,并且可以写注释了,注意,这里写注释只能写行尾注释,如果写单行注释,导致代码对应的行号和原来不一样,打断点就不能到对应的代码了,这个问题我没有找到解决的办法,先暂时写行尾注释吧: