HashMap进阶

2020-03-28  本文已影响0人  wbpailxt
put方法整体流程

数组初始化和数组扩容都是调用的resize()方法。在resize()的前部分就是对数组的初始化。我们先来看数组初始化,再去看数组扩容。


resize数组初始化部分

横线以上是数组初始化,那数组扩容从另一个角度来说也是“数组初始化”,都是新创建数组,让成员变量table指向这个新创建的数组。
所以接下来我们看看扩容过程中“桶”上数据的迁移。


resize数组迁移

了解完hashmap的重要方法之后,接下来我们看看hashmap是怎么造成线程不安全的。
参考:hashmap线程不安全的讲解
这篇文章图文并茂,清楚地讲解了hashmap怎么造成线程不安全,文笔也很好,完全可以作为这篇文章的一个小节,我就不再重新归纳。

上一篇 下一篇

猜你喜欢

热点阅读