深入理解 JUC:CopyOnWriteArrayList
CopyOnWriteArrayList 是线程安全的 List 实现,底层依赖于数组作为存储结构,并基于 写时复制(CoW: Copy-on-Write)机制 保证线程安全性。CopyOnWriteArrayList 在执行修改操作时会将底层数组复制一份,并在副本上实施修改,最后再更新回底层数组。虽然这样的实现比较消耗内存,但却带来了较高的执行效率,属于拿空间换时间。 除了 CopyOnWriteArrayList,在 JUC 包中还有另外一个基于 CoW 机制实现的线程安全组件,即 CopyOnWriteArraySet,不过 CopyOnWriteArraySet 本质上还是基于 CopyOnWriteArrayList 实现的,所以理解了 CopyOnWriteArrayList 的实现原理,也就同时理解了 CopyOnWriteArraySet 的实现原理。 CopyOnWriteArrayList 实现内幕 CopyOnWriteArrayList 实现自 List 接口,所以我们可以像使用 ArrayList 一样使用 CopyOnWriteArrayList。CopyO...
