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原理:写数据时,先在内存备份一份,改完再回写。

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

猜你喜欢

转载自1181731633.iteye.com/blog/2359928
今日推荐