利用IDEA搭建JDK源码阅读环境

# 利用IDEA搭建JDK源码阅读环境

首先新建一个java基础项目

基础目录

source 源码

test 测试源码和入口

准备JDK源码

下图框起来的路径就是jdk的储存位置

image-20200410092921547

打开jdk目录,找到src.zip右键选解压

image-20200410093244953

解压后进入src文件夹,选择java、javax、org 复制 粘贴到 项目的source目录下

注意注意!window系统不要在IDEA里面复制,而是像下图直接在文件夹之间复制。

image-20200410103548221

image-20200410103635416

源码准备完毕

解除Debug限制

取消勾选单步进入底层类

image-20200410100958996

更换SourcePath

原来的源码是受保护的,不能添加注释,所以更换为本项目source 目录下的源码

image-20200410110027447

image-20200410112649981

编写测试代码

public class Test {
    public static void main(String[] args) {
       StringBuffer stringBuffer = new StringBuffer();
       stringBuffer.append("可变序列");
       stringBuffer.append("123456");

       System.out.println(stringBuffer.toString());
       System.out.println(stringBuffer);
    }
}

输出的两句效果是一样的,想探究底层发生了什么

在打印输出之前打个断点

image-20200410112903513

Debug查看底层源码

F7单步进入查看

上面的测试代码第9行传入的是一个字符串,所以直接打印String,再换行

image-20200410113106684

上面的测试代码第10行传入的是一个对象,这时println会自动将对象转换为字符串,然后再输出,最后换行。

image-20200410113312171

建议先看常用模块

描述 重点类
lang 基础语法,包装类型 基础类型,反射,注解
util 基本工具 常用工具,JUC,原子类,锁
io 阻塞式io 字节流,字符流
nio 非阻塞式io
math 基本数学,大数
time 日期,时间
net 网络通信 socket等
posted @ 2020-04-10 11:55  小橘子ღ  阅读(510)  评论(0编辑  收藏  举报