1
回答
探讨ConcurrentHashMap与HashMap中reHash过程
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

ConcurrentHashmapreHash过程利用了元素产生索引只有两种要么为原索引,要么为原基础+2^(K+1)的巧妙特性,能够将同一个桶中的最后一个或者几个相同索引的元素的引用直接指向新桶中的特定索引位置,其他的则是一个一个克隆,重新开辟内存空间进行复制。

而HashMap中reSize过程则是直接计算原元素的Hash值,重新指向,但是不再重新new Entry对象。

为什么ConcurrentHashmap要重新生成hashEntry呢?而不是直接将原有的Entry对象重新指向?

举报
春秋苣
发帖于1年前 1回/387阅
顶部