相信读者也看过了不少讲解 HashMap 源码的文章了,笔者认为,一切脱离源码去讲原理的都是泛泛而谈。一些所谓的原理大都是阅读源码之后的个人概括,这些概括参差不齐,再加上没有阅读源码,读者们是很难有切身体会的。正因如此,笔者逐行分析了 HashMap 的源码后,开启了本场写作。

笔者在阅读 HashMap 源码的时候,曾对每个内部属性,每个内部方法和方法调用逻辑做了简要注释,但在整理成文的时候,还是遇到了略微的困难。对于一些内部属性的解释,需要结合它在一些方法的使用中发挥的作用来综合说明,笔者打算按照从浅到深的顺序,先带读者熟悉HashMap的宏观设计思想,再通读一遍源码,然后讲解源码的设计细节。要让读者边看文字边对照源码进行学习,形成自己的领悟和体会,避免造成笔者一人的泛泛而谈。

无论自己的领悟是深是浅,终归是自己的,无论别人的领悟多么高深,那也是别人的。希望每个读者都能有自己的收获和体会。