<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 9, comments - 8, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    ConcurrentModificationException

    Posted on 2007-01-23 11:31 Dr.Water 閱讀(3483) 評(píng)論(1)  編輯  收藏 所屬分類: Java 隨手貼

    ConcurrentModificationException
    一個(gè)不該犯的低級(jí)錯(cuò)誤,今天的代碼突然拋了一個(gè)concurrentModificationException錯(cuò)誤,
    Iterator的一個(gè)基本概念沒有掌握導(dǎo)致的這個(gè)錯(cuò)誤,就是在Iterator的實(shí)現(xiàn)類
    比如Hashtable里面的內(nèi)部類
    ?private class Enumerator<T> implements Enumeration<T>, Iterator<T>

    會(huì)在next,或者remove的時(shí)候檢查當(dāng)前集合是否會(huì)在修改狀態(tài),如果是的話
    就會(huì)拋出 ConcurrentModificationException,而他自己remove則是使用了同步的方法
    而且同步了modCount;expectedModCount;


    ?public T next() {
    ???? if (modCount != expectedModCount)
    ??throw new ConcurrentModificationException();
    ???? return nextElement();
    ?}


    public void remove() {
    ???? if (!iterator)
    ??throw new UnsupportedOperationException();
    ???? if (lastReturned == null)
    ??throw new IllegalStateException("Hashtable Enumerator");
    ???? if (modCount != expectedModCount)
    ??throw new ConcurrentModificationException();

    ???? synchronized(Hashtable.this) {
    ??Entry[] tab = Hashtable.this.table;
    ??int index = (lastReturned.hash & 0x7FFFFFFF) % tab.length;

    ??for (Entry<K,V> e = tab[index], prev = null; e != null;
    ?????? prev = e, e = e.next) {
    ????? if (e == lastReturned) {
    ???modCount++;
    ???expectedModCount++;
    ???if (prev == null)
    ?????? tab[index] = e.next;
    ???else
    ?????? prev.next = e.next;
    ???count--;
    ???lastReturned = null;
    ???return;
    ????? }
    ??}
    ??throw new ConcurrentModificationException();
    ???? }
    ?}
    ??? }
    而自己在next的同時(shí),修改了這個(gè)集合,導(dǎo)致了這個(gè)錯(cuò)誤的出現(xiàn)


    評(píng)論

    # re: ConcurrentModificationException  回復(fù)  更多評(píng)論   

    2010-11-01 13:00 by 呆呆地
    操 怎么修改你咋不說
    主站蜘蛛池模板: 四虎永久在线精品视频免费观看| 亚洲免费观看在线视频| 国产jizzjizz视频免费看 | 久久精品国产精品亚洲精品 | 亚洲精品tv久久久久久久久| 一级白嫩美女毛片免费| 亚洲精品视频免费观看| 午夜免费国产体验区免费的| 国产成人99久久亚洲综合精品| 青青草国产免费国产是公开 | 免费少妇a级毛片| 在线亚洲精品视频| 亚洲午夜激情视频| 三年片免费高清版| 久久久久亚洲av无码专区| 2020久久精品国产免费| 久久久国产亚洲精品| 拔擦拔擦8x华人免费久久| 无遮挡呻吟娇喘视频免费播放| 亚洲一区二区三区无码影院| 日韩电影免费在线观看网站| 亚洲黄网站wwwwww| 免费观看男人免费桶女人视频| 免费人成又黄又爽的视频在线电影| 亚洲精品字幕在线观看| 中文字幕免费在线观看| 亚洲熟妇自偷自拍另欧美| 又色又污又黄无遮挡的免费视| 国产在线观看无码免费视频| 亚洲制服丝袜在线播放| 国产成人免费片在线观看| 国产日韩AV免费无码一区二区 | 亚洲av无一区二区三区| 亚洲五月午夜免费在线视频| 97视频免费观看2区| 337p日本欧洲亚洲大胆人人| 久久亚洲精品中文字幕三区| 成人免费无码视频在线网站| 一级特级女人18毛片免费视频| 亚洲国产综合精品| 小说区亚洲自拍另类|