vlambda博客
学习文章列表

来啊, 一起看遍JDK源码

原创文章, 转载请私信. 关注 tastejava 学习加思考, 仔细品味java之美

为什么要阅读源码

  1. 面试要考, 不管是什么公司面试, 源码相关知识点考察是少不了了, 例如ArrayList与LinkedList区别这样的烂大街问题
  2. 开发要用, 肯定要很熟悉JDK常见api, 理解其内部实现和特点才能正确灵活的运用

怎么阅读源码

经过一段时间的摸爬滚打, 我发现要想高效的阅读源码, 首先阅读英文原始文档的能力要强, 其次要熟练掌握所使用的IDE方法跳转相关操作, 如实现类跳转到接口, 接口跳转到实现类, 方法跳转到调用的地方, 直接跳转到某一行等. 最后还需要善于利用搜索引擎, 有查阅资料的能力.

阅读源码面临的问题

上面总结出来的是高效阅读源码需要具备的条件, 需要学会的方法. 然而在方法上能优化的空间就比较有限了, 阅读源码依旧面临不少问题

  1. 比如由于JDK追求高效并且可靠, 所以里面很多写法含义是需要时间才能分析明白, 甚至需要查找一段时间资料才能解决某个问题.
  2. 又比如可能我们词汇量是够的, 但是由于语法原因依旧不能准确理解英文注释含义, 大段的英文注释确不知道哪是重点.

核心问题也就是好的方法能达到理解源码的目的, 但是很难再优化节省时间, 提高效率

送给大家的礼物

https://github.com/gaozhilai/open-jdk1.8-analysis

项目基于openjdk1.8, 代码范围预计覆盖掉java.utils以及java.lang包下的类, 目前从类的常见和重要程度逐步分析. 个人力量是有限的, 欢迎大家踊跃参与到项目中来, RRADME中详细说明了参与方式, 欢迎大家PR, 让我们一起成长, 一群平凡的人也可以成就不平凡的事