JDK1.8 源代码阅读环境搭建

准备

Itellj IDEA, jdk1.8 的源代码包(解压 jdk 目录下的 src.zip 包得到)

项目结构

IDEA 创建一个普通的 java 项目
在这里插入图片描述
把解压得到的 jdk1.8 的源代码复制到 source 目录下:
在这里插入图片描述
test 目录用来写测试用例, 这里用不到 Main 方法。

IDEA 设置

  1. Project Structure -> Project 设置项目的 SDK (jdk8u221),language level 选择 8 - Lambdas, type annotations etc.
    在这里插入图片描述
  2. Project Structure -> Dependencies 选择 Modules,SDK 选择 1.8_221
    在这里插入图片描述
  3. 设置平台的 SDK 源代码路径为自己项目的 source 目录
    在这里插入图片描述
  4. 调整编译线程的堆大小,避免内存不足,编译无法通过,调整到 1G 以上。
    在这里插入图片描述
  5. IDEA 默认调试是不会进入到 jdk 的源代码的,在 Debugger 设置中允许进入到 jdk 的包
    在这里插入图片描述
    到这里,我们完成了 idea 的设置,可以开始写个测试程序编译运行。

编译调式

创建一个测试类进行调试:

import java.util.HashMap;
import java.util.Map;

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);
    }
}

进入 debug 之后,就可以在源代码里写一些笔记了。
在这里插入图片描述

编译问题

经常碰到的几个问题:

  1. 缺少com.sun.tools包
  2. 缺少sun.awt.UNIXToolkit 和 sun.font.FontConfigManager这两个类

解决办法可以参考这篇博客:JDK1.8源码分析03之idea搭建源码阅读环境

posted @ 2020-09-17 14:45  chenxueqiang  阅读(435)  评论(0编辑  收藏  举报