序言: 上一节说了阅读源码的顺序, 有了一个大体的方向, 咱们就知道该如何下手. 接下来, 就要搭建一个方便阅读源码及 debug 的环境. 有助于跟踪源码的调用情况.
目前新开发的项目, 大多数都是基于 JDK1.8 开发, 所以我选择该版本进行源码分析.
JDK1.8 版本号: jdk1.8.0_151
一. JDK1.8 的 src 在哪里?
找到 JDK 安装包所在目录, 会看到 src.zip 的压缩包, 这里面就是 JDK 的源码, 如下图.
二. idea 搭建步骤
01. 新建一个简单的 Java 工程
打开 idea, 菜单栏 File => Project, 出现如下图
在点 Next, 选个初始化一个 Hello Word 应用, 出现如下图:
再点 Next, 输入项目名, 及保存路径:
最后出现的界面如下:
02. 把源码 src.zip 解压到该工程下的 src 目录下
你以为这样就万事大吉了吗? NO, NO, NO
我导入后, 运行 Main.java 文件里面, 看能不能正常运行起来, 结果在编译的时候, 出现了各种 ERROR, 找不到 xxx 类等问题.
看着这么多错误, 我有打算放弃的念头. 但是, 针对技术, 我是一个很倔强的人.
索性思考了一番, 这不就是我没遇到过的问题吗? 如果解决了, 那不是又增长了知识.
开始了我的疯狂自虐操作.
比如 找不到 xxx 类, 可以去网上找相关的类, 添加进去就好. 只要不是与项目 JDK 有冲突问题, 就都还好.
索性最后问题都被我逐一解决了, 最终运行成功.
三. 搭建过程中问题总结
各种 ERROR 解决思路, 为以后的朋友们铺平道路
我是一个修路工人.
问题 1: 缺少 com.sun.tools 包
解决思路: File => Project structure => Libraries 把 jdk 路径下的 lib 包添加到工程中, 如下图:
问题 2: 缺少 sun.awt.UNIXToolkit 和 sun.font.FontConfigManager 这两个类
解决思路: 在 src 的目录下手动添加这两个类
问题 3:debug 的时候, 出现如下, 调用的 src.zip 中的文件
解决思路: 排除掉 src.zip 文件, 按下图操作即可.
问题 4:debug 的时候, 误点 Alternative source availble for the class xxxx 的 disable
解决思路: 打开 setting => Debugger, 如下图 选中该选项.
丑媳妇总要见公婆的. 源码代码已经提交到 GitHub 上, 欢迎大家 fork 和关注.
GitHub:
刚起步, 欢迎吐槽. 争取打造成 JDK 源码分析系列资源合集, 想学习 JDK 源码的, 就可以自行下载.
来源: https://www.cnblogs.com/werewolfBoy/p/11314400.html