1.什么是CopyOnArrayList
多线程安全的集合,写操作(add/remove/set方法)加锁,读(get方法)不加锁,适用于读多写少的场景
2.CopyOnArrayList原理
在jdk1.8中,写操作上加了可重入锁,并将原数组进行拷贝,在新的数组上操作
3.CopyOnArrayList为什么要在写操作上加锁
为了防止并发写时产生多个副本,从而导致结果异常
4.CopyOnArrayList为什么要在读操作上不加锁
为了提升读的性能
5.CopyOnArrayList在读操作上不加锁会出现什么问题
其他线程在写的时候,可能读取到旧值