【发布时间】:2014-03-07 09:17:26
【问题描述】:
以下代码在 JVM 中崩溃(并发修改异常)但在 DVM 中没有,我无法理解为什么它在 andorid 中没有崩溃。我正在使用JB
List<String> list = new ArrayList<String>();
list.add("Something");//add only 1 object
for(String a:list){
list.remove(a);
}
【问题讨论】:
-
JVM 崩溃的事实是显而易见的:使用迭代器从集合中删除一个元素,同时对其进行迭代。迭代器的实现可能在 DVM 上有所不同。也就是说,使用迭代器,它对两者都有效。
-
我理解它在 DVM 上的不同行为,但不明白为什么会这样!虽然 fail-fast 依赖于 JVM,但我仍然希望它是基本行为
标签: java android exception concurrentmodification