java – 抛出ConcurrentModificationException系统依赖

前端之家收集整理的这篇文章主要介绍了java – 抛出ConcurrentModificationException系统依赖前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Iterator处理一段代码,并在我从 Windows上的IDE运行程序时在第a行获取ConcurrentModificationException–
LinkedList ll =new LinkedList();
  . . .
  . . . 
  Iterator iter = ll.iterator();
  int i=0;
   while (iter.hasNext()) {
       // GrammarSection agrammarSection = (GrammarSection) iter.next();  //a
       String s1 = (String) iter.next();
        ll.remove(i);
        i++;
   }

这是预期的,因为我在迭代时修改列表,因此失败快速迭代器抛出一个Concurrentmodification异常.但是,当我在unix中使用apache服务器运行此代码时,迭代器的下一个方法不会抛出任何异常.那么,并发修改异常是否依赖于操作系统级别?

解决方法

不,它不应该.无论如何它应该崩溃.

我想在不同的JVM上可能会有所不同,但根据official spec,链表上的迭代器应该是快速失败的.

操作系统与它无关.

原文链接:https://www.f2er.com/java/129082.html

猜你在找的Java相关文章