开发中遇到的bug
-
java.util.ConcurrentModificationException
遇到这个异常基本上都是多线程操作(新增/删除)了集合/Map,出现这个异常盯住数据源看就可以了,看看有没有多线程操作它。
ArrayList<String> list = Lists.newArrayList("11", "22", "33"); if (list.contains("33")) { for (int i = 0; i < 1001; i++) { int num = i; new Thread(() -> { list.add(num + ""); System.out.println(list); }, "多线程操作list").start(); } } List<Integer> numList = list.stream().map(Integer::new).collect(Collectors.toList()); System.out.println(numList);