⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 chenxiao.blog.csdn.net/article/details/104369824 「沉晓」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

在学习JDK源码的时候,自然少不了代码的调试。

阅读与调试各个版本JDK 的环境搭建基本一致,这里以JDK1.8为例。

首先,在安装的jdk1.8路径下,找到src.zip和javafx-src.zip压缩文件 ,


选择一个合适的目录 复制过来一份

接着新建两个文件夹
javafx-src 和 src,将两个压缩包分别放入两个文件夹,并解压。

接着用IDEA新建一个Java项目,注意目录不要是LeanningJDK1.8,正常建项目哈

新建项目完成之后,点击file>project structure,然后选中SKDS,切换到Sourcepath选项
.

将原先的src.zip和javafx-src.zip依赖,“-”减号删去,“+”好新建你本地解压后的src和javafx-src依赖,之后我们点击apply

然后点击file --> Setting --> Build,Execution,Deployment --> Debugger --> Stepping
把Do not step into the classes中的ajva.*,javax.*取消勾选,其他的随意, 点击apply。

这下就大工告成了。

简单代码的打印输出

简单的调试

成功进入JDK源码中。

下面说几个阅读调试源码的技巧,考虑到网上资料很多了,我给大家找了一篇 IDEA 阅读调试 Java 源码的技巧,我看了看觉得有几个地方需要补充一下

查看类直接可以用快捷键alt + 7 ,可以看到这个方法有哪些调用方法


通过点击方法,可以定位到相关的位置

调试中的条件断点:

在断点处右击:
可以设置条件,例如设置test(1)==6,那么当条件满足时,到 这步才会停下来。

细心的话,可以发现 suspend这个选项,有个Thread,这个可以进行多线程的一个调试。可以控制线程的一个执行顺序。

文章目录