最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java.util.ConcurrentModificationException 解決方法

 更新時間:2016年11月24日 11:59:12   投稿:lqh  
這篇文章主要介紹了 java.util.ConcurrentModificationException 解決方法的相關資料,需要的朋友可以參考下

 java.util.ConcurrentModificationException 解決方法

在使用iterator.hasNext()操作迭代器的時候,如果此時迭代的對象發(fā)生改變,比如插入了新數(shù)據(jù),或者有數(shù)據(jù)被刪除。

則使用會報以下異常:

Java.util.ConcurrentModificationException
    at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
    at java.util.HashMap$KeyIterator.next(HashMap.java:828)

例如以下程序(轉自互聯(lián)網(wǎng)):

mport java.util.*; 
 
public class Main 
{ 
public static void main(String args[]) 
{ 
Main main = new Main(); 
main.test(); 
} 
 
public void test() 
{ 
Map bb = new HashMap(); 
bb.put("1", "wj"); 
bb.put("2", "ry"); 
Iterator it = bb.keySet().iterator(); 
while(it.hasNext()) { 
Object ele = it.next(); 
      bb.remove(ele);  //wrong 
} 
System.out.println("Success!"); 
} 
} 

原因:Iterator做遍歷的時候,HashMap被修改(bb.remove(ele), size-1),Iterator(Object ele=it.next())會檢查HashMap的size,size發(fā)生變化,拋出錯誤ConcurrentModificationException。

解決辦法:

1) 通過Iterator修改Hashtable

while(it.hasNext()) {
Object ele = it.next();
      it.remove();
}

2) 根據(jù)實際程序,您自己手動給Iterator遍歷的那段程序加鎖,給修改HashMap的那段程序加鎖。

3) 使用“ConcurrentHashMap”替換HashMap,ConcurrentHashMap會自己檢查修改操作,對其加鎖,也可針對插入操作。
import java.util.concurrent.*;

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • OpenStack安裝部署Liberty Neutron

    OpenStack安裝部署Liberty Neutron

    本篇文章主要介紹了OpenStack安裝部署Liberty Neutron,有需要的可以參考一下。
    2016-11-11
  • Fuel快速安裝OpenStack圖文教程

    Fuel快速安裝OpenStack圖文教程

    這篇文章主要為大家詳細介紹了Fuel快速安裝OpenStack圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 淺談openstack中使用linux_bridge實現(xiàn)vxlan網(wǎng)絡

    淺談openstack中使用linux_bridge實現(xiàn)vxlan網(wǎng)絡

    這篇文章主要介紹了淺談openstack中使用linux_bridge實現(xiàn)vxlan網(wǎng)絡,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • CentOS 6.4下安裝部署OpenStack云計算平臺的方法

    CentOS 6.4下安裝部署OpenStack云計算平臺的方法

    現(xiàn)在好多公司都使用Openstack,所以也想著學習下用OpenStack云計算平臺,這篇文章給加詳細介紹了CentOS 6.4下安裝部署OpenStack云計算平臺的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • 什么是OpenStack 開源的云計算管理平臺項目

    什么是OpenStack 開源的云計算管理平臺項目

    OpenStack是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標是提供實施簡單、可大規(guī)模擴展、豐富、標準統(tǒng)一的云計算管理平臺
    2016-11-11
  • OpenStack手動分布式部署Keystone(Queens版)

    OpenStack手動分布式部署Keystone(Queens版)

    這篇文章主要介紹了OpenStack手動分布式部署Keystone(Queens版),Keystone是OpenStack框架中負責管理身份驗證服務訪問規(guī)則和服務令牌功能的組件,需要的朋友可以參考下
    2023-03-03
  • OpenStack之日志詳細介紹

    OpenStack之日志詳細介紹

    這篇文章主要介紹了 OpenStack之日志詳細介紹的相關資料,這里對日志系統(tǒng)做了詳解,需要的朋友可以參考下
    2016-11-11
  • OpenStack虛擬機快照和增量備份實現(xiàn)方法

    OpenStack虛擬機快照和增量備份實現(xiàn)方法

    快照針對要保存的數(shù)據(jù)分為內(nèi)存快照和磁盤快照,內(nèi)存快照就是保存當前內(nèi)存的數(shù)據(jù),磁盤快照就是保存硬盤的數(shù)據(jù),這篇文章主要介紹了OpenStack虛擬機快照和增量備份實現(xiàn),需要的朋友可以參考下
    2022-04-04
  • 基于CentOS的OpenStack環(huán)境部署詳細教程(OpenStack安裝)

    基于CentOS的OpenStack環(huán)境部署詳細教程(OpenStack安裝)

    這篇文章主要介紹了基于CentOS的OpenStack環(huán)境部署(OpenStack安裝),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • openstack云計算keystone組件工作流程及服務關系

    openstack云計算keystone組件工作流程及服務關系

    這篇文章主要介紹了openstack云計算keystone組件工作流程及服務關系,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04

最新評論

凤山县| 乳山市| 江安县| 乌拉特前旗| 瑞金市| 新宁县| 东源县| 黔西| 富顺县| 望都县| 通河县| 济源市| 通河县| 怀化市| 金溪县| 宝坻区| 嘉鱼县| 澳门| 于都县| 沙洋县| 临洮县| 开原市| 沈阳市| 比如县| 连山| 英超| 资溪县| 秀山| 清镇市| 讷河市| 贵州省| 论坛| 迁西县| 海伦市| 石景山区| 色达县| 如东县| 金昌市| 唐山市| 农安县| 济源市|