Skip to content

isevenluo/oracleJDK17SourceLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oracleJdk17SourceLearn

介绍

  1. oracleJDK17源码阅读,像读书一样学习源码,添加注释记录笔记,这个feel😄~
  2. 对于 ReentrantLock 和 AQS 以及 各种并发容器(还在不断更新中)笔者已经进行了源码层面的标注,为看不懂的同学提供思路;
  3. 直接fork后,clone到你本地,导入 IDEA ,就可以直接搜索你想学习的类,进行源码阅读了,一边读一边注释上你自己的理解,源码也可以越读越厚;

为什么创建这个仓库

  • 因为进阶Java都要学习JDK中常用容器(ArrayList、HashMap、阻塞队列、ConcurrentHashMap等)、锁等最常用工具的具体实现;
  • JDK源码初学难以看懂,需要不断反复,但是看的过程中不能做笔记,下次又忘了,反反复复效率低下;
  • 希望能够帮助想学习JDK源码的同学,可以直接fork我这个仓库,站在我的肩膀上可能学的更快一点;
  • 建议人手一份,周末无聊,少打一局王者,调试一个Java工具类,进步就在这不经意间发生了;

为什么要学习 JDK 源码

  1. 面试肯定跑不掉的,锁的实现,各种并发容器的实现;
  2. 弄懂原理不必慌,工作中不会因为理解不到位在写bug了;
  3. 这可是JDK源码,经过千锤百炼的,不管多大的厂都是直接用的。我们可以学习优秀的代码是怎么写的,理解其中的思想和模式;

源码应该怎么看

  1. 按需阅读;这也是笔者推荐的方式,毕竟JDK源码东西太多了,没有目的的阅读首先不容易看懂其次容易忘,当你带着问题去查阅收获贼大;
  2. 多调试;源码我已经帮你搞好了,你直接导入,建个测试包就可以开搞了,看不懂就多调呗;
  3. 不要光看,读完一遍将自己的理解记录在对应的位置,方便二次复习呀,这东西需要反复读的;

个人编程能力的进步不是一朝一夕就能实现了,现在的努力看似用不到,但在后续工作中当别人遇到问题你可以轻松的帮他解决,通俗易懂的给他讲明白,你是否会回忆起几年前的一个夜晚那个熬夜debug调试源码的自己。

Releases

No releases published

Packages

 
 
 

Languages