利用IDEA搭建JDK源码阅读环境
首先新建一个java基础项目
基础目录
source 源码
test 测试源码和入口
准备JDK源码
下图框起来的路径就是jdk的储存位置
打开jdk目录,找到src.zip右键选解压
解压后进入src文件夹,选择java、javax、org 复制 粘贴到 项目的source目录下
注意注意!window系统不要在IDEA里面复制,而是像下图直接在文件夹之间复制。
源码准备完毕
解除Debug限制
取消勾选单步进入底层类
更换SourcePath
原来的源码是受保护的,不能添加注释,所以更换为本项目source 目录下的源码
编写测试代码
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);
}
}
输出的两句效果是一样的,想探究底层发生了什么
在打印输出之前打个断点
Debug查看底层源码
F7单步进入查看
上面的测试代码第9行传入的是一个字符串,所以直接打印String,再换行
上面的测试代码第10行传入的是一个对象,这时println会自动将对象转换为字符串,然后再输出,最后换行。
建议先看常用模块
包 | 描述 | 重点类 |
---|---|---|
lang | 基础语法,包装类型 | 基础类型,反射,注解 |
util | 基本工具 | 常用工具,JUC,原子类,锁 |
io | 阻塞式io | 字节流,字符流 |
nio | 非阻塞式io | |
math | 基本数学,大数 | |
time | 日期,时间 | |
net | 网络通信 | socket等 |