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

简介: 本文是博主学习JDK源码的记录,希望对大家有所帮助。

🍀jdk下载

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

下载地址:https://www.oracle.com/java/technologies/downloads/archive/

🍀获取源码

下载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源码

源码地址:https://github.com/BerBai/JDK1.8_SourceCode

目录
相关文章
|
4月前
|
网络协议 Windows
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
这篇文章提供了解决IDEA插件下载慢或超时问题的方案,通过查找国内插件节点IP地址并修改本地hosts文件来加速下载。
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
|
3月前
|
Java
IDEA的fxml打开Scene Builder后空白! Scene Builder下载依赖后还是空白不显示 无论如何都不显示,网上的教程试过来了遍还是不显示
本文提供了三种方法来解决IDEA中fxml文件在Scene Builder中打开后显示空白的问题:检查JavaFX是否安装、切换IDEA版本、下载Scene Builder插件。
324 1
|
3月前
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
168 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
|
5月前
|
算法 安全 Java
深入JDK源码:揭开ConcurrentHashMap底层结构的神秘面纱
【8月更文挑战第24天】`ConcurrentHashMap`是Java并发编程中不可或缺的线程安全哈希表实现。它通过精巧的锁机制和无锁算法显著提升了并发性能。本文首先介绍了早期版本中使用的“段”结构,每个段是一个带有独立锁的小型哈希表,能够减少线程间竞争并支持动态扩容以应对高并发场景。随后探讨了JDK 8的重大改进:取消段的概念,采用更细粒度的锁控制,并引入`Node`等内部类以及CAS操作,有效解决了哈希冲突并实现了高性能的并发访问。这些设计使得`ConcurrentHashMap`成为构建高效多线程应用的强大工具。
68 2
|
5月前
|
安全 开发工具 git
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
这篇文章是关于如何在IDEA中配置Git、在Coding.net上创建项目和代码仓库,并将IDEA中的代码提交到远程代码仓库的详细教程,涵盖了Git安装、IDEA配置、项目创建、代码提交等步骤。
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
|
5月前
|
IDE Java 测试技术
Java零基础(4) - JDK、IntelliJ IDEA的安装和环境变量配置
【8月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
163 0
Java零基础(4) - JDK、IntelliJ IDEA的安装和环境变量配置
|
6月前
|
Java
关于idea报错:Cannot determine path to 'tools.jar' library for 17 (E:\java-jdk\jdk17)的解决办法
关于idea报错:Cannot determine path to 'tools.jar' library for 17 (E:\java-jdk\jdk17)的解决办法
|
5月前
|
开发工具 git
IDEA中怎么使用git下载项目到本地,通过URL克隆项目(giteegithub)
IDEA中怎么使用git下载项目到本地,通过URL克隆项目(giteegithub)
346 0
|
6月前
|
IDE Java 开发工具
入职必会-开发环境搭建03-IDEA下载和安装
IntelliJ IDEA(简称IDEA),由JetBrains开发,是一款专为Java、Kotlin、Groovy等语言设计的集成开发环境(IDE)。它具备智能代码编辑、高效调试器、版本控制集成、丰富的插件生态、内置工具与高度定制性等特点,广泛应用于企业级软件、Web应用和移动应用开发。 完成上述步骤,即可开启IDEA的高效开发之旅。
|
4月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
412 3