`

CopyOnWriteArrayList使用

 
阅读更多

用到CopyOnWriteArrayList,使用时,主要有两个问题:

1)用Collections.sort()排序报错:

 

Caused by: java.lang.UnsupportedOperationException
        at java.util.concurrent.CopyOnWriteArrayList$COWIterator.set(CopyOnWriteArrayList.java:1185)
        at java.util.Collections.sort(Collections.java:234)

解决:可以复制到new ArrayList()中,排序,并clear()和复制回来。

 

2)元素太多,并发多,内存不够用:

CopyOnWriteArrayList原理:写数据时,先在内存备份一份,改完再回写。

 

如果上面两个问题没有影响,而且是读多写少的情况,就可以使用。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics