CopyOnWriteArrayList

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

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

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

你可能感兴趣的:(CopyOnWriteArrayList)