谨慎处理 遍历ConcurrentHashMap

最近发现内存中WriteThroughEntry数量突然很巨大,经过反复分析查找,发现是由于遍历ConcurrentHashMap不当导致的,遍 历时尽量使用values(),使用ConcurrentHashMap的entrySet()遍历会产生大量WriteThroughEntry对象, 从源码中可以看到ConcurrentHashMap中的EntryIterator对象重载的next()方法里每次都会创建一个 WriteThroughEntry对象返回,而HashMap、TreeMap则不会出现这种情况。

 

原文地址:http://hi.baidu.com/fallen9/blog/item/690e963d56471209bba1670a.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注