扫码关注微信公众号
回复“面试手册”,获取本站PDF版
回复“简历”,获取高质量简历模板
回复“加群”,加入程序员交流群
回复“电子书”,获取程序员类电子书
与HashMap不同的是,ConcurrentHashMap
迭代器是弱一致性。
这里解释一下弱一致性是什么意思,当ConcurrentHashMap
的迭代器创建后,会遍历哈希表中的元素,在遍历的过程中,哈希表中的元素可能发生变化,如果这部分变化发生在已经遍历过的地方,迭代器则不会反映出来,如果这部分变化发生在未遍历过的地方,迭代器则会反映出来。换种说法就是put()
方法将一个元素加入到底层数据结构后,get()
可能在某段时间内还看不到这个元素。
这样的设计主要是为ConcurrenthashMap
的性能考虑,如果想做到强一致性,就要到处加锁,性能会下降很多。所以ConcurrentHashMap
是支持在迭代过程中,向map中添加元素的,而HashMap
这样操作则会抛出异常。
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版