Update 集合源码.md

master
Omooo 4 years ago
parent 6f0c66271d
commit 617a5aede0
  1. 2
      blogs/Java/口水话/集合源码.md

@ -4,7 +4,9 @@
#### 前言
起初想看集合源码是因为,一次偶然的机会,一位同事跟我说 ArrayList 的初始容量为空,第一次 add 时才会扩容至 10。我当时就觉得我的知识体系有点落后了,就决定去看一遍集合源码。在看的过程中呢,可以用惊喜+收获满满来形容了。惊喜是指对于 Stack、HashSet、LinkedHashMap 等等的实现方式感觉很震惊,看完这些集合源码有种那种你感觉很难但是其实很简单的感觉,不仅如此,熟悉集合源码对实际开发也是有帮助的,主要体现在 ArrayList remove 时可能抛出的 ConcurrentModificationException、Collections 使用不当造成的 UnsupportedOperationException、ArrayMap 的缓存机制等等。
在看集合源码时,Debug 源码有时并不直接,可以使用 OpenJDK 开源的 JOI 工具查看对象的内存布局,这对分析集合扩容、HashMap 树化非常有用。
#### 目录

Loading…
Cancel
Save