[toc]
前言:
- jdk版本:openjdk 11
- 编辑器:idea 2019.1.2
- 电脑:Mac OS
1.创建新项目
用 idea 创建一个简单的 Java 项目,名字随便取。
顶部栏 File -> New -> Project..
2.找到对应 JDK 的源码压缩包
使用命令,找到 JDK 目录。
java -verbose
展示结果很长~,看第一条的红线部分,是关键目录。
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/lib
打开 Finder ,使用 Command + Shift + G 出现“前往文件夹”(或顶部栏 -> 前往 -> 前往文件夹)。
输入上述的目录地址,回车。
src.zip 就是我们要找的源码压缩包。
PS:还有一种简单的方法,通过已有项目的 Project Structure。
选择 SDKs,找到对应的SDK版本,点击 Sourcepath,所展示就是源码位置。
3.解压 src.zip 到项目目录下
复制 src.zip 到项目下,解压到你想要的目录下。我的是src/jdk11/。
如此,就可以愉快看源码了。而且可以自己写注释。
4.如何调试时,查看自己注释的代码,或同时进行注释
以上步骤,只能满足静态地看看源码,写写注释。
如果你想进行调试时,看到自己标注的注释,或边调试边注释,那么还需要一点工作。
一般调试时,源码来自于 src.zip,编辑器的tab是带锁的,无法编辑。
4.1 调试时允许 step into
JDk 源码是受保护的,无法直接通过 F7 (step into),可以通过 alt+shift+F7 (force step into)。
取消以下限制,就可以直接通过 F7 进入源码了。
4.2 关联当前项目可编辑的源码。
Project Structure -> SDKs 下 新建SDK,选择原来的JDK 11。名字设置为 11 src。
将11 src 的源码关联目录删掉,改为当前项目的目录。
最后全部 OK即可。
之后将项目的 JDK 设置为 11 src。
5.调试
6.其他问题
6.1 编译 OOM
增加IDEA编译所需堆内存,默认700,这里设置为1024。
6.2 创建的项目使用了 版本管理工具,调试时运行失败
如果创建的项目使用了 Maven 或者 Gradle 这样的版本管理工具,编译或者运行测试时失败或报 Class Not Find。
需要再设置一下他们的 JDK 版本。
6.3 jdk源码写过注释后debug提示source code does not match the bytecode
我还没遇到过,参考 blog.csdn.net/u010999809/…
6.4 上传到 github
因为用的公司电脑,不想设置 github access token。
可以利用 Idea 设置项目的github token,快捷使用。
设置完 github 账号以后,就可以通过 git 命令进行了。
或者通过用户界面操作。