描述:1:我们在在多线程情况下用HashMap hashMap=new HashMap();;在put(paramKey,paramValue)添加信息常遇到ConcurrentModificationException 即并发修改异常 原因:多个线程争抢修改信息时候,当一个线程正在修改却被其他线程抢占去同一个位置的修改权造成修改错误,丢数据 解决方法:
ps:hashmap无写时复制方法
以hashmap为例在设置值的时候会调用checkForComodification方法,这里面会进行的操作是:
final void checkForComodification() {
if (modCount != expectedModCount)
throw new ConcurrentModificationException();
}
如果modCount不等于expectedModCount,则抛出ConcurrentModificationException异常。