美文网首页
CopyOnWriteArrayList

CopyOnWriteArrayList

作者: pure粹 | 来源:发表于2019-03-19 09:38 被阅读0次

Copy-On-Write简称COW,是一种用于程序设计中的优化策略
基本思想:读写分离
写:先copy出一个新的容器,然后在新容器中添加新元素,最后把老的引用指向新容器;此时需要加锁,否则可能多条线程copy出多个容器;
读:并发的读,而不需要加锁,因为当前容器不会添加任何元素。

缺点:内存占用;内存里会同时驻扎两个对象的内存,很有可能造成频繁的Yong GC和Full GC,应用响应时间也随之变长;
解决:压缩容器中的元素减少内存,或使用ConcurrentHashMap

数据一致性问题:CopyOnWrite容器只能保证数据的最终一致性,不能保证数据的实时一致性。所以如果你希望写入的的数据,马上能读到,请不要使用CopyOnWrite容器。

相关文章

网友评论

      本文标题:CopyOnWriteArrayList

      本文链接:https://www.haomeiwen.com/subject/bivwmqtx.html