# 一.源码方法论

  • 学好 JDK
  • 了解设计模式
  • 先从官网入手
  • 熟悉源码模块结构
  • 顺着 demo 开始读
  • 带着目的去读,带着问题去读
  • 先抓主线,再抓分支,先梳理脉络,然后看细节
  • 不要过度抠实现细节,千万不要一开始的时候就深入细节,死扣某个方法
  • 大胆猜,大胆猜测,大胆验证,8 分靠猜
  • 学会看类名,见名知意
  • 学会看类结构,使用 idea 的功能,类结构
  • 总结类的职责,需要自己总结
  • 习惯阅读注释
  • 写好注释,不要忽略源码中的注释
  • 提前了解依赖的技术
  • 查阅相关资料
  • 坚持

image-20231212224007628

# 二.如何学源码

# 1.jdk 源码

所有的 Java 类开源项目,本质上其实就是利用 JDK 已有的类库和关键字实现一种业务功能,所以学会了 JDK 相关的类库是看其它的源码基础。

  • 下载源码
  • 逐步执行
  • 做标记
  • 加注释
  • 画流程图

学习 JDK 主要包括使用和原理两部分。内容大致包括以下几部分:

  • 集合相关,比如常见的 Map,List,Queue 的实现,包括线程安全与不安全

  • 并发相关,比如 synchronized、volatile、CAS、AQS、锁、线程池、原子类等等

  • io 相关,包括 bio 和 nio 等等

  • 反射相关

  • 网络编程相关

  • 等等

# 2.Spring 源码

  • 大多通过注解实现,进入注解所在的包
  • 打开 META-INF 下面的 spring.factories,查看关键配置信息
  • 查看具体的实现逻辑
  • 打开 idea 的 Structure,可以查看类的变量和方法,方便查阅
  • 打开 idea 的 Hierarchy,可以查看类的向上和向下继承实现关系
  • 画流程图

# 3.看源码方法

  1. 先使用:先看官方文档快速掌握框架的基本使用
  2. 抓主线:找一个 demo 入手,顺藤摸瓜快速静态看一遍框架的主线源码,画出源码主流程图,切勿一开始就陷入源码的细枝未节,否则会把自己绕晕,凭经验猜
  3. 画图做笔记:总结框架的一些核心功能点,从这些功能点入手深入到源码的细节,边看源码边画源码走向图,并对关键源码的理解做笔记,把源码里的闪光点都记录下来,后续借鉴到工作项目中,理解能力强的可以直接看静态源码,也可以边看源码边 debug 源码执行过程,观赛一些关键变量的值
  4. 整合总结:所有功能点的源码都分析完后,回到主流程图再梳理一遍,争取把自己画的所有图都在脑袋里做一个整合
  5. 当你带着这些目的,你读源码就有很强的目的性,读完印象会很深刻。当然如果你最开始想不到这些目的,也没有什么关系,你可以先往下读,在读的过程中再去尝试发现一些其它的目的。

# 三.jdk 源码下载

# 1.下载地址

下载地址 (opens new window)

image-20230403144834474

# 2.选择小版本

image-20230403144853403

# 3.下载 zip

image-20230403144913299

# 四.新公司开发软件哪里找

  1. 打开 csdn 的上传资料
  2. 在家把资料上传到 csdn
  3. 到新公司下载 csdn 软件
  4. 添加 TODO 标签
  5. 添加书签
上次更新: 11/11/2025, 2:29:09 PM