" 阅读本文大约需要 5 分钟
阅读源码是提升编程能力的一项基础技能, 但是很多初学者在阅读源码过程中不得其法, 往往花费了大量的时间却没有收到预期的效果. 或者在阅读过程中无法了解作者的意图, 白白错失了学习的机会, 因此我希望借助这个系列, 通过解读 Java Collections Framework 的源码, 给大家归纳 Java Collections Framework 相关知识的同时也分享一些自己阅读源码的技巧
对于 Java 开发者而言, 现今是个幸福的时代, 开源文化的盛行让大家对于很多项目的源码可谓唾手可得. 而十几年来 Java 技术体系的稳步发展, 积累了许许多多基于 Java 语言的优秀开源框架. 然而基础对于软件工程师的成长更为重要, 在想深入某个框架之前, 不如让我们把眼光转向 JDK 自带的源码中, 来学习一些基础但是格外重要的知识.
要想成为一个合格的 Java 程序员, 至少有两个框架的知识和源码是需要熟练掌握的, 即 Java Collections Framework 和 Java Concurrency Framework, 这个系列会带着大家分析 Collections Framework 的源码, 从浅入深, 抽丝剥茧的讲述相关知识.
本系列分析的源码以 OpenJDK 11 为主, 希望每个读者可以在本机下载相关的源码, 在看完每篇文章后再自己仔细的阅读相关的代码, 并做好笔记.
概述
Java 是一门面向对象的语言, 在使用中往往会采用继承, Delegate, 组合等多种手法, 或者是各种设计模式. 因此一开始阅读源码时容易在复杂的类层次以及调用关系中迷失, 所以在一开始建议大家先看一下总体的类图结构, 了解大致的继承体系, 并进一步找出几个核心的接口和实现类. 而在阅读源码之前最好看看框架的文档, 并手动写一些简单的实例代码, 对框架的功能有一个大致的了解. 下面是 Java Collections Framework 的类图:
来源: http://www.jianshu.com/p/0ec593ffc9d7