JDK1.8源码下载及获取、导入IDEA阅读、配置JDK源码

213 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第32天,点击查看活动详情

🍀jdk下载

本文使用JDK版本为jdk1.8 在这里插入图片描述

下载地址:www.oracle.com/java/techno…

🍀获取源码

下载jdk压缩包版就可以,解压后,文件路径中会有一个src.zip文件,这个就是jdk源码。 在这里插入图片描述 解压后就可以获得jdk源码啦。建议拷贝后换个路径再解压。如下是我存放的路径 在这里插入图片描述

🍀导入IDEA

☘️新建java项目

使用默认配置,选择下一步 在这里插入图片描述 勾选从模板创建项目,再选择下一步 在这里插入图片描述 选择jdk源码路径,完成创建新项目 在这里插入图片描述 导入后显示文件结构 在这里插入图片描述

🍀IDEA相关后续配置

☘️项目的JDK关联当前src源码

在这里插入图片描述 将原来的src.zip替换成现在解压后的版本 在这里插入图片描述 在这里插入图片描述 修改项目使用jdk 在这里插入图片描述

☘️com.sun.tools.javac.api不存在,导入安装jdk路径下的lib

在这里插入图片描述 在这里插入图片描述

☘️sun.awt.UNIXToolkit和sun.font.FontConfigManager不存在,下载导入openjdk的源码

新建UNIXToolkit.java和FontConfigManager.java类,注意包名一致。 在这里插入图片描述OpenJDK寻找sun.awt.UNIXToolkitsun.font.FontConfigManager的源码,分别复制到上面新建的两个类里

下载jdk8u的可以直接使用上面的链接,其他版本可参考下图寻找openjdk源码 在这里插入图片描述 复制sun.awt.UNIXToolkitsun.font.FontConfigManager源码替换我们刚刚新建的两个类就可以了。

配置好应该就也可以开始愉快的学习了。

🍀测试类

package com.ber;
​
import java.util.HashMap;
​
public class Main {
​
    public static void main(String[] args) {
  // write your code here
        HashMap hashMap = new HashMap<>();
        hashMap.put("k1","v1");
        hashMap.put("k2","v2");
        hashMap.put("k3","v3");
        hashMap.put("k4","v4");
        hashMap.put("k5","v5");
        hashMap.get("k2");
    }
}

在这里插入图片描述 如图,已成功debug。

🍀Tips

博主没有遇到OutOfMemoryError内存溢出错误,如果有小伙伴存在这个错误。可以尝试调大构建项目的内存大小。

具体设置:Settings—>build,execution,deployment---->compiler---->Build process heap size (Mbytrs) 在这里插入图片描述

🍀有小伙伴不想动手配置,上传一份配置好的jdk源码

源码地址:github.com/BerBai/JDK1…