如何阅读 JDK 源代码

本文介绍一些如何系统地阅读 JDK 源代码。目前只涉及源代码获取方式和阅读工具。

Github 上的源代码仓库

我目前找到了两个质量还不错的 JDK 源代码仓库:

  1. Source code for multiple JDK versions(1.6/1.7/1.8/1.9/10 JDK’s src.zip), Only for learning; “rt_debug.jar” can be used for debugging. https://github.com/zxiaofan/JDK
  2. JDK 源代码阅读笔记

阅读工具

IntelliJ IEDA

文章开头推荐的第二个源代码仓库JDK 源代码阅读笔记,其中就有一个 IDEA 工程,可以很方便的使用 IDEA 查看源代码。不过直接 clone 仓库或者通过 Github 下载 zip 文件,下载下来的只有 master 分支,这一点需要注意。

优点

使用 IDEA 阅读源代码的好处在于,IDEA 会对源代码进行分析(Code Analysis),对源代码加上各种颜色的标记,同时还可以通过按住 CTRL 按键然后点击方法名,就可以快速定位到方法的定义处。类似这样的功能还有很多,这为我们阅读源代码提供了很大的方便。

缺点

IntelliJ IDEA 启动速度比较慢。

Visual Studio Code

优点

和 IntelliJ IDEA 相比,VS Code本身启动的速度会快一些。

对比阅读

因为 JDK 代码是在不断优化和更新的,有的时候还需要把一个类在不同版本的实现对比着来看,或者把一些线程安全的类和非线程安全的类对比着来看。可以通过一些软件来对比着看。

IntelliJ 集成的 diff 功能

Visual Studio Code 的 Partial Diff 插件

在 Visual Studio Code 中下载一个 叫 Partial Diff 的插件就可以很方便的对比了。这个插件的主页:Partial Diff - Visual Studio Marketplace

Beyond Compare

这个软件是收费的,不过可以试用30天。具体信息可以到官方网站去了解:Beyond Compare 中文官网

从阅读方法角度

如何阅读Java源码?