CopyOnWriteArrayList底层原理

86 阅读1分钟

1、CopyOnWriteArrayList内部 也是用数组实现的,在向CopyOnWriteArrayList添加元素时,会复制一个新的数组,写操作在新数组上进行,读操作在原数组上进行。并且写操作会加锁,防止出现并发写入丢失数据的问题。

2、写操作结束之后会把原数组指向新数组。

3、CopyOnWriteArrayList允许在写操作时来读取数据,大大提高了读的性能,因此适合读多写少的应用场景,但是CopyOnWriteArrayList会比较占内存,同时可能读到的数据不是实时最新的数据,所以不适合实时性要求很高的场景。