当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

ConcurrentHashMap使用注意事项

发表于: 2013-05-31   作者:aigo   来源:转载   浏览次数:
摘要: 最近发现内存中WriteThroughEntry数量突然很巨大,经过反复分析查找,发现是由于遍历ConcurrentHashMap不当导致的,遍历时尽量使用values(),使用ConcurrentHashMap的entrySet()遍历会产生大量WriteThroughEntry对象,从源码中可以看到ConcurrentHashMap中的EntryIterator对象重载的next()方法里每次

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

 

 

ConcurrentHashMap在迭代器遍历的时候,可以对ConcurrentHashMap进行添加和删除数据,添加或删除的数据不会影响本次遍历的结果,只有下一次遍历ConcurrentHashMap的时候才会体现出效果来

ConcurrentHashMap使用注意事项

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hash
ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentH
http://blog.sina.com.cn/s/blog_605f5b4f0100qsij.html 曾经研究过jkd1.5新特性,其中ConcurrentHa
ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentH
ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hash
ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hash
ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hash
实现原理 锁分离 (Lock Stripping) ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了
很好的文章,关于并发的学习。 可以到http://www.ifeve.com里去看看, 另外可以写个代码测试一下Has
曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号