<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 閱讀(3491) 評論(1)  編輯  收藏 所屬分類: Java 隨手貼

    ConcurrentModificationException
    一個(gè)不該犯的低級錯(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>

    會在next,或者remove的時(shí)候檢查當(dāng)前集合是否會在修改狀態(tài),如果是的話
    就會拋出 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)


    評論

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

    2010-11-01 13:00 by 呆呆地
    操 怎么修改你咋不說
    主站蜘蛛池模板: 久久亚洲AV无码精品色午夜| 免费a级毛片视频| 久久久久亚洲AV无码专区首| h视频免费高清在线观看| 免费99热在线观看| 四虎国产精品永免费| 亚洲午夜福利精品久久| 巨胸喷奶水视频www免费视频| 亚洲第一区精品观看| 国产午夜无码片免费| 亚洲人成网www| 久久受www免费人成_看片中文| 亚洲欧洲日韩国产| 91九色精品国产免费| 亚洲熟妇无码乱子AV电影 | 亚洲人成电影网站免费| 一区二区三区精品高清视频免费在线播放 | 国产精品无码永久免费888| 日本无吗免费一二区| 麻豆亚洲AV成人无码久久精品 | 亚洲精品乱码久久久久66| MM1313亚洲精品无码久久| 亚洲国产成人久久综合区| 曰韩无码AV片免费播放不卡| 亚洲日本在线观看视频| 久久国产精品国产自线拍免费| 久久噜噜噜久久亚洲va久| 国产成人免费午夜在线观看| 亚洲中文字幕无码中文| 亚洲国产成人五月综合网| 免费人成黄页在线观看日本| 亚洲国产综合在线| 免费在线视频一区| 99久久久国产精品免费牛牛| 国产精品亚洲精品| 国产精品亚洲w码日韩中文| 无码精品人妻一区二区三区免费看 | 国产亚洲精品一品区99热| 国产精品免费观看久久| 亚洲精品视频免费观看| 亚洲另类自拍丝袜第1页|