多线程HashMap的put操作引起死循环的理解
起因主要是hashmap在put数据时,超过预设长度则会自动扩容,即resize方法,而引起死锁的核心逻辑为resize中的transfer方法,代码如下:
/**
*
* 往表中添加元素,如果插入元素之后,表长度不够,便会调用resize方法扩容
*/
void addEntry(int hash, K key, V value, int bucketIndex) {
Entry&l...
原创
2019-07-31 11:46:14 ·
4249 阅读 ·
0 评论