HASMAP结构图

为什么HashMap是线程不安全的 1.如果多个线程同时使用put方法添加元素会丢失元素 假设正好存在两个put的key发生了碰撞,那么根据HashMap的实现,这两个key会添加到数组的同一个位置,这样最终就会发生其中一个线程的put的数据被覆盖。 2.多线程同时扩容会造成死循环 多线程同时检查到扩容,并且执行扩容操作,在进行rehash的时候会造成闭环链表,从而在get该位置元素的时候,程序将
相关文章
相关标签/搜索