本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。
Hi 大家好,我是
毛与帆
,一个热爱技术的后端工程师,感谢你的关注!
从本文开始,我将会跟大家一起回顾Java中的重点知识点,也就是深入理解Java系列
,在这个系列中将会带来一系列重点类库的使用、原理分析等内容。
本文我先介绍一下如何搭建JDK的源码阅读环境,以便更好阅读源码,理解底层的原理,现在开始吧!
1. 创建项目
首先,我们需要在IDEA中创建一个Java项目,在IDEA中选择:File - new - project
,创建一个新的项目,如下图所示,然后一路next完成项目创建即可。
在这里,我使用的是java8的源码。
这时候,我们在项目的src
目录下,分别创建两个包java
和test
,用来存放java源码以及我们自己的测试代码。如下图所示:
2. 添加Java源码
其实Java的源码获取也非常简单,我们找到自己的jdk安装的路径,在目录下,有一个src.zip
压缩文件,这个文件里面就是所有的java源码,如下图所示。
我们将该文件解压到刚才创建的java目录下,如下:
3. 几个小配置
3.1 源码文件路径配置
首先,进入到Project Structure
设置里面,如下所示
然后进入SDKs
的配置中,新创建一个java1.8的sdk,点击Sourcepath
,这里配置的是java源码地址,我们需要将该压缩文件删掉,然后设置为解压后的目录:
设置为新的目录:
然后,在Classpath
配置中,添加jdk目录下lib/tools.jar
文件
然后,在Project
的配置中,Project SDK
选择刚创建的1.8-src
3.2 堆大小设置
3.3 单步调试设置
由于IDEA限制了单步调试,无法进入java的源码,所以需要修改如下Debugger - Stepping
配置,Do not step into the classes
选项设置为不勾选
4. 单元测试
这时候,在test
目录下,创建一个测试类,如下:点击ArrayList
,则可以正常跳转到源码文件,而且,该文件是可以修改的,可以在上面添加注释等
然后可以点击编译运行,在编译运行时,会出现com.sun.java.swing
目录下缺失依赖包UNIXToolkit
的错误,可以选择将com.sun.java.swing
包从项目中删除的方式解决该问题(swing包下的代码暂时不影响我们源码分析,可以暂时移除;也可以手动添加缺失的几个文件,大家可以自行搜索相关资料解决)。
java: 找不到符号
符号: 类 UNIXToolkit
位置: 程序包 sun.awt
5. 最后
OK,到此项目搭建完成了,我们可以愉快的阅读JDK的源码。
我是 毛与帆 ,感谢各位朋友的点赞、评论和关注,我们下期见