点击关注公众号,实用技术文章及时了解

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

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

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

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

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

接着新建两个文件夹

javafx-srcsrc,将两个压缩包分别放入两个文件夹,并解压。

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

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

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

然后点击file --> Setting --> Build,Execution,Deployment --> Debugger --> Stepping

把Do not step into the classes中的ajva.*javax.*取消勾选,其他的随意, 点击apply

这下就大工告成了。

简单代码的打印输出

简单的调试

成功进入JDK源码中。

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

https://blog.csdn.net/u014082714/article/details/103401436

学会 IDEA 的这个功能,阅读源码简直太简单了!!!

超实用:阅读跟踪 Java 源码的几个小技巧!

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

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

调试中的条件断点:

在断点处右击:

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

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

推荐

主流Java进阶技术(学习资料分享)

Java面试题宝典

加入Spring技术开发社区

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!

非常实用,IDEA 搭建JDK源码学习环境(可修改+断点+笔记)相关推荐

  1. jdk javac运行不了_Intellij IDEA搭建jdk源码阅读环境

    一.找到源码位置 直接找到jdk安装的目录,会看到src.zip的压缩包,这里面就是jdk的源码,例如下图: 在这里解压. 第一次尝试建议使用9或更早版本jdk的源码,否则易造成卡死. 二.Intel ...

  2. Mac搭建JDK源码阅读环境

    点赞再看,养成习惯,微信公众号搜索[虚竹讲程序经],获取更多技术干货! 想要读懂JDK源码,需要在自己电脑上搭建JDK的源码阅读环境,正所谓,工欲善其事,必先利其器.下面演示如何在Mac上结合Idea ...

  3. JAVA JDK 源码学习

    JAVA JDK 源码学习 ,以1.8为例,按照下面图片顺序依次学习: applet ,awt,beans,io,lang,math,net,nio,rmi,security,sql,text,tim ...

  4. JDK源码学习-基础

    JDK源码学习 目录 基础 1. 安装 1.1 下载JDK 1.2 配置环境变量 1.3 验证 2. 简单的程序 2.1 编写代码 2.2 编译文件 2.3 执行类 3. java基本类型 基础 1. ...

  5. Gitolite + repo 搭建安卓源码开发环境

    Gitolite + repo 搭建安卓源码开发环境 转载请注明出处:http://blog.csdn.net/u011479494/article/details/50629669 相比gitosi ...

  6. 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境

    本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境.(默认已安装好 Java.Maven 环境) 一.搭建源码阅读环境 一)idea 导入 hadoop 工程 从 github 上拉取代码 ...

  7. JDK源码学习笔记——Integer

    一.类定义 public final class Integer extends Number implements Comparable<Integer> 二.属性 private fi ...

  8. JDK源码学习笔记——String

    1.学习jdk源码,从以下几个方面入手: 类定义(继承,实现接口等) 全局变量 方法 内部类 2.hashCode private int hash; public int hashCode() {i ...

  9. JDK源码阅读环境搭建

    内容来源 B站Up主: CodeSheep 视频: https://www.bilibili.com/video/BV1V7411U78L 感谢大佬分享学习心得 Thanks♪(・ω・)ノ~~~ 1. ...

最新文章

  1. 你会不会模拟超过 5 万用户的并发访问?
  2. golang net包 ip相关函数 简介
  3. windows api打开文件对话框
  4. java常用工具类_java(二):工作中常用到的工具类
  5. CI框架源码阅读笔记8 控制器Controller.php
  6. linux-basic(6)linux的文件权限与目录配置
  7. Golang list双向链表源码走读
  8. 服务器指定网卡进行备份数据避免影响业务口
  9. Eclipse建立webservice客户端
  10. leaflet 加载海量点位,点击marker 查看详情功能
  11. P3332 [ZJOI2013]K大数查询
  12. DropBox系列-安卓DropBox介绍
  13. 停车场计费算法 php,时段计费算法,一般用于停车计费
  14. 新一配:程序员在地铁上写代码被路人吐槽:有什么好装的!网友评论炸锅了
  15. 2023 新版二开彩虹易支付 持续更新
  16. 看中科院大牛博士如何进行文献检索和阅读
  17. oracle oats 工具讲解,Oracle 表空间基本操作
  18. java json utf-8_java读取json数据发生中文乱码的解决方法
  19. ios开发 多人语音聊天_iOS语音通话功能实现流程(实时语音通话二)
  20. 【Pycharm教程】PyCharm 安装、卸载和升级包

热门文章

  1. 库克笑嘻嘻!苹果明年或将迎来继iPhone 6后第二次换机大潮
  2. 荣耀20 Pro 5000元最强拍照机翻车?官方怒放样张辟谣
  3. 中国移动中国联通中国电信 三家运营商公布首批5G城市名单
  4. 苹果推送iOS12.2系统更新:电信用户一定要升级!
  5. 弯道超车时机已来 百度:中国有机会定义AI时代的用户体验标准
  6. 情人节消费报告出炉!这三个城市最爱送花...
  7. 拳王虚拟项目公社:有没免费虚拟资源池,虚拟资源平台该选择什么,虚拟资源整合赚钱
  8. leetcode-reverse words in a string
  9. java怎么从大到小排序元祖_在java中对元组列表进行排序的有效方法
  10. java smtp pop3_POP3/SMTP指令