
集合
关于集合的问题
L_J_X03
这个作者很懒,什么都没留下…
展开
-
集合类不安全之并发修改异常(以arrayList为例)
ArrayList出现线程不安全的现象 异常信息: java.util.ConcurrentModificationException 导致原因: 一个正在写,另一个进行抢夺,导致数据不一致异常,并发修改异常 解决方案: 1.使用Vector 2.使用Collections类里面的synchronizedList(new ArrayList()) 3.new CopyOnWriteArrayList() 写时复制 优化建议: 每次添加的时候都会加锁,把创建一个新的集合,长度比当前的+1,进行变量赋值,再把新原创 2021-04-27 23:00:37 · 151 阅读 · 0 评论 -
集合不安全之set
异常: java.util.concurrentModificationException 产生原因: 在一个线程正在写入时,另一个线程闯入,导致数据不一致,并发数据修改异常。 解决方法: 1.使用collections类里面的synchronizedSet() 2.使用java.util.concurrent里面的CopyOnWriteArraySet 优化: CopyOnWriteArraySet底层创建的还是CpoyOnWriteArrayList HashSet底层是HashMap add方法其实原创 2021-04-28 09:38:24 · 91 阅读 · 0 评论 -
集合类不安全之map
异常: java.util.conCurrentModificationException 产生原因: 当一个线程写入时,另一个线程闯入,导致数据不一致,并发修改异常 解决方法: 1.使用concurrentHashMap 2.使用collections里面的synchronizedMap 优化: concurrentHashMap使用了synchronized和CAS ...原创 2021-04-28 09:58:03 · 97 阅读 · 0 评论