IDEA搭建JDK1.8源码调试环境

大家好

下载源码

安装好 JDK 后,源码目录下面有 src.zip 文件,这个文件就是 JDK 的源码

搭建调试环境

新建 Maven 工程,包含以下文件

  • source:源码文件夹(手动新建)
  • test:单元测试文件夹(手动新建)
  • Main.java:主函数(自带)

将 src.zip 文件内容解压至 source 文件夹内,也可以只复制 src.zip/java 文件夹,其他不重要

主要看以下文件夹内的源码,是 JDK 源码里面比较重要的,而且平时开发也经常用到

在 test 文件夹内新建 hashmap/HashMapTest.java,文件内容如下:

java 复制代码
package com.jonssonyan.test.hashmap;

import java.util.HashMap;

public class HashMapTest {
    public static void main(String[] args) {
        HashMap<String, String> hashMap = new HashMap<>();
        hashMap.put("1", "1");
        hashMap.put("2", "2");
        hashMap.put("3", "3");
        System.out.println(hashMap);
    }
}

以上是一个简单的 HashMapput 元素的方法,此时如何开启调试进入到的是本机的 JDK 源码(JDK 里面的源码是锁住不让编辑的),而不是我们自己复制出来的 source/java 文件夹内的源码,我们需要将断点进入到我们自己的 source/java 文件夹内的源码,这样我们就可以写一些注释来做笔记

找到设置,Project Structure -> SDKs -> Sourcepath,删除掉 xxxx/src.zip,点击+,添加为我们新建的 source 文件夹

找到设置,Build, Execution, Deployment -> Compiler -> Shared build process heap size (Mbytes)

,默认值为 700,我们将它设置为 1700

找到设置,Build, Execution, Deployment -> Debugger -> Stepping -> Do not step into the classes,将勾选取消

开启调试,这样就可以了(第一次编译时间比较长,稍作等待)

常见问题

  • F7 进入到下层 Debug,F8 同层 Debug

  • 如果 source 文件夹内有报错,除了 source/java 文件夹其他都可以直接删掉,就不会报错了

相关推荐
做个文艺程序员16 小时前
流式输出(SSE)在 Spring Boot 中的实现【OpenClAW + Spring Boot 系列 第3篇】
java·spring boot·后端
逻辑驱动的ken16 小时前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表
小手cool16 小时前
如何在Java中根据另一个配对集合对一个集合进行排序
java·开发语言
云烟成雨TD16 小时前
Spring AI Alibaba 1.x 系列【28】Nacos Skill 管理中心功能说明
java·人工智能·spring
升鲜宝供应链及收银系统源代码服务16 小时前
OMS 订单模块重构正式文档(一)---升鲜宝生鲜配送供应链管理系统
java·开发语言·重构·生鲜配送源代码·生鲜供应链源代码
Han.miracle16 小时前
Redis 全套笔记:基础 API + 三大架构 + 缓存三大问题
java·windows·redis
zzb158016 小时前
Fragment 生命周期深度图解:从 onAttach 到 onDetach 完整流程(面试必备)
android·java·面试·安卓
银色火焰战车17 小时前
浅析golang中的垃圾回收机制(GC)
java·jvm·golang
zhangjw3417 小时前
第4篇:Java数组与字符串:从基础用法到面试高频考点
java·java基础知识
俺爱吃萝卜17 小时前
Spring Boot 3 + JDK 17:新一代微服务架构最佳实践
java·spring boot·架构