阅读目的
- 从语言设计者的角度重新学习语言
- 理解常用集合(数据结构)的操作实现细节,记录可能出现的性能瓶颈
- 学习良好的代码风格
阅读顺序
String/StringBuilder/StringBuffer
Iterable
Comparable
AbstractList/AbstractSequentialList/ArrayList/CopyOnWriteArrayList/LinkedList/Stack/Vector
AbstractMap/ConcurrentHashMap/ConcurrentSkipListMap/HashMap/Hashtable/LinkedHashMap/Properties/Provider/TreeMap/WeakHashMap
AbstractQueue/ArrayBlockingQueue/ArrayDeque/ConcurrentLinkedDeque/ConcurrentLinkedQueue/DelayQueue/LinkedBlockingDeque/LinkedBlockingQueue/LinkedTransferQueue/PriorityBlockingQueue/PriorityQueue/SynchronousQueue
AbstractSet/HashSet/LinkedHashSet/TreeSet
DataInputStream/FileCacheImageInputStream/FileCacheImageOutputStream/FileImageInputStream/FileImageOutputStream/ImageInputStreamImpl/ImageOutputStreamImpl/MemoryCacheImageInputStream/MemoryCacheImageOutputStream/ObjectInputStream/RandomAccessFile
DataOutputStream/FileCacheImageOutputStream/FileImageOutputStream/ImageOutputStreamImpl/MemoryCacheImageOutputStream/ObjectOutputStream/RandomAccessFile
阅读过程
- 类中提供的常用的API实现
- 基本上逐行翻译
- 在类的层次结构设计上有心得可以记录