22_CopyOnWrite容器

Posted HigginCui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22_CopyOnWrite容器相关的知识,希望对你有一定的参考价值。

【简述】

Copy-On-Write简称COW,是一种程序设计中的优化策略。

JDK里的COW容器分为两种:CopyOnWriteArrayList 和 CopyOnWriteArraySet。

CopyOnWrite容器即:写时复制的容器。通俗理解就是当我们往一个容器添加元素的时候,不直接网当前容器添加,而是先将当前容器Copy,赋值出一个新的容器,然后往新的容器里添加元素,添加完元素后,再将原容器的引用指向新的容器。

这样做的好处就是我们可以对CopyOnWrite容器进行并发的读,而不需要加锁,因为当前容器不会添加任何元素。所以CopyOnWrite容器也是一种读写分离的思想,读和写不同的容器。

 

以上是关于22_CopyOnWrite容器的主要内容,如果未能解决你的问题,请参考以下文章

详解CopyOnWrite容器及其源码

我对CopyOnWrite的思考

ConcurrentMap与CopyOnWrite容器

JUC系列并发容器之CopyOnWrite(CopyOnWriteArrayListCopyOnWriteArraySet)

CopyOnWriteArrayList学习

CopyOnWriteArrayList介绍