jdk1.7版hashmap在多线程环境下的死循环问题

一、背景介绍: 在看JDK1.7的HashMap源码是看到了resize()的源代码,当时发现在将old链表中引用数据复制到新的链表中时,新table[]的列表采用LIFO方式,即队头插入。这样做的目的是:避免尾部遍历。(尾部遍历是指新列表插入数据时,每次遍历旧列表队尾的位置)因为,直接插入的效率更高。 然而直接采用队头插入,会使得新链表数据倒序 二、存在的问题: 采用队头插入的方式,导致了Has
相关文章
相关标签/搜索