CopyOnWriteArrayList简介及优缺点、应用场景说明
下文笔者将讲述CopyOnWriteArraylist简介及优缺点及应用场景简介说明,如下所示
CopyOnWriteArrayList简介
CopyOnWriteArrayList是一个并发容器 CopyOnWriteArrayList是线程安全(非复合场景下它是线程安全)
CopyOnWriteArrayList优点
CopyOnWriteArrayList优点: 当多个迭代器同时遍历和修改这个列表时 不会抛出 ConcurrentModificationException 在CopyOnWriteArrayList 中,写入将导致创建整个底层数组的副本 而源数组将保留在原地 使得复制的数组在被修改时 读取操作可以安全地运行
CopyOnWriteArrayList缺点
1.由于写操作的时候,需要拷贝数组,会消耗内存 如果原数组的内容比较多的情况下 可能导致young gc或full gc 2.不能用于实时读的场景 像拷贝数组、新增元素都需要时间 所以调用一个 set 操作后,读取到数据可能还是旧 虽然CopyOnWriteArrayList 能做到最终一致性 但是还是没法满足实时性要求 3.如果数据有点多 每次add/set都要重新复制数组 此种方式代码比较大,所以此容器不适用于互联网这种高并发的场景
CopyOnWriteArrayList适用场景
读多写少的场景非常适合适用 CopyOnWriteArrayList 容器
CopyOnWriteArrayList设计思想
1.读写分离 2.读和写分开 3.最终一致性 4.使用另外开辟空间的思路,来解决并发冲突
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。