JDK源码阅读环境搭建

JDK源码阅读环境搭建

步骤一:新建IDEA项目

  • 新建IDEA(IDEA2020.1)普通Java项目即可,这里项目存放在D:\JavaSourceLearn文件夹下

    在这里插入图片描述

    在这里插入图片描述

  • src文件夹下新建两个package:source用于存放源码,test用于存放测试代码

    在这里插入图片描述

步骤二:拷贝JDK源码文件到工程

  • 首先找到源码位置,可以通过IDEA中的Project Structure中找到源码所在位置

    在这里插入图片描述

    在这里插入图片描述

  • 打开这个文件夹,我这里是C:\Java\jdk1.8.0_231,在该文件夹中找到src.zip,这里面存放的就是Java源码,如下图:

    在这里插入图片描述

  • 解压src.zip,得到:

    在这里插入图片描述

  • 将这5个文件夹中的4个(除了com,否则最后运行代码时会报错)拷贝到IDEA项目中的source包中(注意:不要再项目中拷贝,打开source所在文件夹,直接拷贝进入,否则IDEA可能会卡住

    在这里插入图片描述

步骤三:项目关联拷贝的JDK源码

  • 关联源码之前还要对IDEA进行如下设置,否则编译会报错

    在这里插入图片描述

  • 将当前项目关联到source下的源码,可以在IDEA中的Project Structure进行设置,首先删除原本关联的源码,然后替换为source下的源码即可(javafx-src.zip对应的这一项不能删除。另外这项修改会对所有的Java项目生效。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

结果演示

  • 在test包下新建测试文件,如下:

    在这里插入图片描述

    HashMap测试代码:

    package test.hashmap;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * Date: 2021/2/22 17:36
     * https://blog.csdn.net/refuse_debug/article/details/104623902
     * https://blog.csdn.net/refuse_debug/article/details/104623908
     */
    public class Test {
    
        public static void main(String[] args) {
            Map<String, Double> hashMap = new HashMap<>();
    
            hashMap.put("K1", 0.1);
            hashMap.put("K2", 0.2);
            hashMap.put("K3", 0.3);
            hashMap.put("K4", 0.4);
    
            System.out.println(hashMap.get("K1"));
        }
    }
    
  • 运行代码之前,需要做如下设置,让代码调试时可以单步进入源码:

    在这里插入图片描述

  • 运行该代码即可,第一次运行比较慢,等待一会即可,之后运行会变快

    在这里插入图片描述

/*
 JDK源码包建议阅读顺序(主要看source.java):
    lang:instrument,invoke,management,ref 初期不需要看
    util:jar,logging,prefs,regex,spi,zip 初期不需要看
    io
    nio
    math
    time
    net
*/

参考网址:JDK源码阅读环境搭建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值