前言
最近想研究下jdk的ClassLoader。发现jdk 1.8下没有包含sun.*的源码。所以在idea中打开sun.*下的类,都只能查看通过反编译得到的代码,由于缺少相应的注释,且某些变量变成了val1,val2等,可读性变得很差,给源码的学习效率造成影响。
我们可以通过引入外部的源码文件依赖,使得idea在打开sun.*包下的类时,可以找到并打开对应的源码
下载OpenJDK源码到本地
从github上下载OpenJDK源码:
git clone https://github.com/openjdk-mirror/jdk.git
cd jdk
git checkout jdk8u/jdk8u/master
sun包的源码就在src\share\classes目录下
在项目中添加源码路径
在idea中打开项目,右上角点击file -> project structure
在弹出窗口选择SDKs -> 右侧窗口选择 sourcepath -> 点击左下方“+” 添加刚才下载的源码路径,点ok。
可以发现,sun包下的类已经可以读取到相应的java文件源码了