调试JDK源码时可编辑操作的实现

以下操作在以下环境中测试通过:idea 2019.3,jdk8源码包

一、解压源码压缩包

从jdk安装目录中找到 src.zip 的源码压缩包,解压后得到源码文件夹

二、创建Java项目

因主要目的是调试源码,了解其功能的实现过程,所以在IDEA中创建一个java项目(单独的一个项目,而不是Module),在 src 文件夹下分别创建两个文件夹(文件夹名自定义)resourcetest

  • resource:存储需要进行调试的源码文件

  • test:测试类所在文件夹

三、复制源码文件到文件夹

将需要调试的源码类所在包复制或移动到所创建项目的 resource 目录中

因为将全部的源码文件夹放到项目的 resource 目录中,运行程序时在构建程序阶段会报错,且构建时间过长(最终构建失败,程序结束),极大的浪费计算机内存以及CPU资源,所以强烈建议仅将需要调试的类所在包放到目录中

比如想调试HashMap类,就将 java.util 包放到 resource 目录中

报错情况:

四、Platform Settings中新增一个SDK

避免出现在源码中增加注释时不小心对源码进行了改动(而idea又是自动保存的),所以区别于其他项目,在 Project Structure -> Platfrom Settings -> SDKs新增一个SDK,专门用于jdk源码调试的项目中

五、修改新建SDK的 Sourcepath 配置

源码文件路径指向到步骤3中保存源码文件的 resource 目录中

修改后(将原有的两项移除):

六、修改 Project 以及 Modules 的 SDK

  1. Project Settings -> Project 中为项目更换SDK

  2. Project Settings -> Modules 中为Module更换SDK

七、项目结构图

resource目录中具体放哪些源码文件可自行选择

八、测试调试过程中对源码进入注释

修改完设置后一定要Apply,保存设置,否则修改不生效

调试源码过程中,如需增加注释,尽量不要改变原有行数,加注释在源码后加

JDK源码包的学习步骤推荐(java包下):lang,util,io,nio,time,math,net

posted @ 2020-03-27 10:07  知音12138  阅读(771)  评论(2编辑  收藏  举报