比较着急的可以直接看部分三,如果有些不理解的,再回过头来看。
一、环境说明
jdk:jdk1.8.0_161
idea版本:2018.1(这个版本相差不大的话,应该没啥问题)
调试jdk8源码主要问题:无法添加注释(解决方法,自己新建一个项目,见二)
二、环境搭建
先看下src在哪?
新建一个简单Java工程
具体过程可以看https://www.jianshu.com/p/c00db010265b
最终生成的目录结构如下:
如果main方法运行没问题,说明环境搭建ok了
https://www.jianshu.com/p/c00db010265b 这篇文章里提过的问题我就不重复了,这里记录下我碰到的别的问题:
1. 编译过程中报java:OutOfMemory,提示系统资源不足(https://blog.csdn.net/ljj821061514/article/details/52371037)
我的原来默认设置的是700,改成1000就没问题了
2. 要让代码运行时自动关联到当前项目src目录下的代码(为了不影响平时使用jdk的源码,我创建了一个1.8study,唯一的差别就是把原来的src.zip换成了jdk1.8-sources-study的src目录)(https://blog.csdn.net/u011837804/article/details/80450809)
三、整个过程的简要记录
1. 解压src.zip放到新建好的项目jdk1.8-source-study的src目录下
2. 关联jdk目录下的lib包(不然会提示com.sun.tools下的一堆类都找不到),在Project Structure->Libraries中添加
3. 手动添加UNIXToolkit和FontConfigManager这两个类(我是在这个git仓库里找到的,https://github.com/kangjianwei/LearningJDK)
4. 编译时可能会报内存不足(idea里File->Settings->Compiler->Build process heap size调大一点,我的改成1000就行了)
5. 在代码调试时能自动关联上源码(在Project Structure->SDKs中,把1.8复制一份1.8study,在Sourcepath中把src.zip换成当前目录下的src)
说明:如果Main.java运行没问题,说明环境搭建OK了
参考链接:
https://www.jianshu.com/p/c00db010265b
https://blog.csdn.net/congdi4518/article/details/100304773