java CopyOnWriteArrayList 适用场景 读写规则

一:适用场景

1.读操作尽可能地快,而写即使慢一点也没有太大的关系

2.读多写少:黑名单,每日更新;监听器:迭代操作远多余修改操作

3.CopyOnWriteArrayList可以在迭代的过程中修改内容,但是ArrayList不行。

4.CopyOnWrite的含义:创建新副本,读写分离。

二:CopyOnWriteArrayList缺点

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

2.内存占用问题:因为CopyOnWrite的写是复制机制,所以在进行写操作的时候,内存里会同时驻扎两个对象的内存。

三:读写规则

1.读写锁:读读共享,其他都互斥(写写互斥,读写互斥,写读互斥)

2.读写锁规则的升级:读是完全不用加锁的,并且更厉害的是,写入也不会阻塞读取操作。只有写入和写入之间需要进行同步等待

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

softwareDragon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值