首页 > 其他 > 详细

CopyOnWriteArrayList 可以用于什么应用场景?

时间:2020-06-08 09:11:37      阅读:37      评论:0      收藏:0      [点我收藏+]

CopyOnWriteArrayList(免锁容器)的好处之一是当多个迭代器同时遍历和修改这

个列表时,不会抛出 ConcurrentModificationException。在

CopyOnWriteArrayList 中,写入将导致创建整个底层数组的副本,而源数组将保

留在原地,使得复制的数组在被修改时,读取操作可以安全地执行。

1、由于写操作的时候,需要拷贝数组,会消耗内存,如果原数组的内容比较多的

情况下,可能导致 young gc 或者 full gc;

2、不能用于实时读的场景,像拷贝数组、新增元素都需要时间,所以调用一个 set

操作后,读取到数据可能还是旧的,虽然 CopyOnWriteArrayList 能做到最终一致

,但是还是没法满足实时性要求;

CopyOnWriteArrayList 透露的思想

1、读写分离,读和写分开

2、最终一致性

3、使用另外开辟空间的思路,来解决并发冲突

CopyOnWriteArrayList 可以用于什么应用场景?

原文:https://www.cnblogs.com/programb/p/13021134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!