开篇:为什么 HashMap 是面试的宠儿?
如果 Java 面试只能考一道题,那大概率就是 HashMap。不夸张地说,HashMap 几乎是每场 Java 面试的"必考嘉宾"。原因很简单:它短短几千行代码里,浓缩了数组、链表、红黑树、哈希算法、位运算、扩容策略等一系列数据结构与算法的精华,堪称一部"微型教科书"。
更重要的是,HashMap 的设计思路直接影响着我们的日常编码。你每天写的 map.put(key, value) 背后到底发生了什么?为什么多线程下它会出问题?什么时候该换成 ConcurrentHashMap?搞懂这些问题,不仅面试能过关,日常写代码也能少踩很多坑。接下来,我们就从底层原理出发,把 Map 家族彻底拆解一遍。
大约 30 分钟