他的底层是使用volatile修饰的Object数组
添加,删除的时候采用ReentrantLock来保证线程安全,只能有一个线程来操作
获取数组的数据,复制数组的数据,创建新的数组,长度+1,把传进来的数据,放入新的数组中
在读数据的时候,不用加锁,支持1个写锁,多个读
总结
1.他是一个线程安全的list集合,内部有一个volatile修饰的数组
2.在插入数据的时候通过ReentrantLock来保证线程安全
3.在插入数据的时候会创建一个新的数组,长度加1,然后把旧的数据复制过来