立即学习:https://edu.csdn.net/course/play/24583/273933?utm_source=blogtoedu
为什么要拷贝
CopyOnWriteArrayList 在列表有更新时直接将原有的列表复制一份,并再新的列表上进行更新操作,完成后再将引用移到新的列表上(java的第一个特性,速度快)。旧列表如果仍在使用中(比如遍历)则继续有效。如此一来就不会出现修改了正在使用的对象的情况(读(老对象)和写(新复制的对象)分别发生在两个对象上,第二个特性,读写分离),同时读操作也不必等待写操作的完成,免去了锁的使用加快了读取速度。