CopyOnWriteArrayList 能夠用於什麼應用場景?

CopyOnWriteArrayList(免鎖容器)的好處之一是當多個迭代器同時遍歷和修改這 數組

個列表時不會拋出 ConcurrentModificationException。 安全

CopyOnWriteArrayList 寫入將致使建立整個底層數組的副本而源數組將保 併發

留在原地使得複製的數組在被修改時讀取操做能夠安全地執行spa

一、因爲寫操做的時候須要拷貝數組會消耗內存若是原數組的內容比較多的 內存

狀況下可能致使 young gc 或者 full gc; it

二、不能用於實時讀的場景像拷貝數組新增元素都須要時間因此調用一個 set io

操做後讀取到數據可能仍是舊的,雖然 CopyOnWriteArrayList 能作到最終一致 容器

,可是仍是無法知足實時性要求List

CopyOnWriteArrayList 透露的思想 遍歷

一、讀寫分離讀和寫分開 

二、最終一致性 

三、使用另外開闢空間的思路來解決併發衝突

相關文章
相關標籤/搜索