用IDEA调试JDK源码 (含阅读调试源码的技巧)

小哈学Java

共 1211字,需浏览 3分钟

 · 2021-12-28

点击关注公众号,Java干货及时送达👇


来源:chenxiao.blog.csdn.net/article/details/104369824


在学习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,这个可以进行多线程的一个调试。可以控制线程的一个执行顺序。

1. 阿里二面:main 方法可以继承吗?

2. SpringBoot + SpringBatch + Quartz整合定时批量任务

3. 公司架构师常常提起的DNS负载均衡是个什么鬼?

4. 喜马拉雅自研网关架构实践

最近面试BAT,整理一份面试资料Java面试BATJ通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报