邊城愚人

          如果我不在邊城,我一定是在前往邊城的路上。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            31 隨筆 :: 0 文章 :: 96 評論 :: 0 Trackbacks

          我的評論

          死循環的代碼在hashmap的transfer方法:
          void transfer(final Entry[] newTable) {
          final Entry[] src = table;
          final int newCapacity = newTable.length;
          final long time1 = System.currentTimeMillis();
          for (int j = 0; j < src.length; j++) {
          Entry<K,V> e = src[j];
          if (e != null) {
          src[j] = null;
          do {
          final Entry<K,V> next = e.next;
          final int i = indexFor(e.hash, newCapacity);
          e.next = newTable[i];
          newTable[i] = e;
          e = next;
          } while (e != null);
          }
          }
          }
          我的分析是:死循環就在while中,對同一個舊table中的e,一個線程執行了 e.next = newTable[i];(還沒到 e = next;),另一個才到 final Entry<K,V> next = e.next;,結果后到的線程接著執行e = next;造成e=e.next,死循環了。
          re: 搜索拼音輸入法研究[未登錄] kafka0102 2009-05-11 10:50  
          ding一個
          re: 消除實現繼承和面向接口編程 kafka0102 2007-09-03 22:17  
          @Matthew Chen
          是的,對于繁雜的對象模型,如果繼承層次太多就會很難把握具體的調用,也更難于修改。對于我舉的例子,也許并不漂亮,這里只是為了說明一下問題。實際上,我看到很多代碼有在基類拋出異常或子類拋出異常的情況,因為作者希望抽象出的公共操作只是對其某個或某幾個子類不適用,而作者因為實際需求又希望將方法作為公共方法。
          re: 在spring中使用Timer kafka0102 2007-07-20 08:55  
          不好意思,記錯了,以為Spring也是opnesymphony 的東東了。。我對Quartz也不是很了解,它在做復雜的任務調度方面要更好些,因為它可以在配置文件中配置調度策略,而Timer則只能寫在TimerTask中。
          re: 使用DbUnit進行持久化測試(1) kafka0102 2007-06-14 09:19  
          有誰知道如何在文章中附上文件?
          re: 要范型,要DAO,更要范型DAO kafka0102 2007-05-03 22:06  
          發表文章時,代碼不是直接貼進去的,而是選擇編輯器中的“代碼”選項(應該在編輯菜單的最后一個位置),然后根據彈出來的對話框進行操作就行了。
          re: 要范型,要DAO,更要范型DAO kafka0102 2007-04-17 09:20  
          都要瘋掉了。昨晚第一遍寫的時候,直接在編輯器里做,結果添加代碼框出不來,IE死掉了。第二遍在word里寫,結果發表時不能連接服務器。好吧,一大早來做,結果從word到編輯器轉換時,格式都亂了。就這樣了,沒心情再改了。
          re: JavaScript中定義對象的四種方式 kafka0102 2007-04-09 19:11  
          學藝不精,還需努力!
          re: JavaScript中定義對象的四種方式 kafka0102 2007-04-08 20:28  
          確實不對,我試了一下,name屬性根本沒有起作用,看來外部方法introduceSelf()需要添加參數name才行!
          re: 一道java算法題 kafka0102 2007-03-13 16:03  
          我本身也不會多少算法題,我想的是,這樣的題要求的是實現技巧,而不單單是結果。這道題蠻可以for循環嵌套,將得到的每一個排列放到Set中讓Set過濾,但這樣效率極低,而且Set如果自己實現(比如TreeSet)也很復雜。做了這么多年Java,感覺就是基本的數據結構還行,算法方面就差很多(也許沒有使用機會吧),但算法是很基礎的東西,值得好好學習。
          實際使用的代理對象應該通過Proxy.newProxyInstance這樣的方法實現,而代理對象調用的就是繼承了InvocationHandler的類的public Object invoke(Object proxy, Method method, Object[] args)方法,這里的Object proxy應該就是代理對象本身。如果你的method.invoke(this.delegate, args); 改成method.invoke(proxy, args);將出現不斷的循環。


          re: 玩玩Spring之初章 kafka0102 2006-05-04 18:45  
          不過是個程序員,做程序不過混口飯吃,何必那么張狂?對這么一個框架有了些認識就牛啊?最看不上你這種人了。有時間多做做程序,多學學什么叫做謙虛。大音稀聲。盡管我是個80后的人,但我可以告訴你,80后根本配不上美國50年代的一代。垮掉的不單是這一代,是這一社會。
          主站蜘蛛池模板: 嘉兴市| 彭泽县| 莱芜市| 札达县| 乌兰浩特市| 曲水县| 哈密市| 明溪县| 雷州市| 长宁县| 临颍县| 望谟县| 义乌市| 海盐县| 辽宁省| 成安县| 合川市| 遂昌县| 定西市| 武冈市| 奈曼旗| 寻乌县| 洛川县| 辽阳县| 佛山市| 禄丰县| 望江县| 双流县| 教育| 磴口县| 平陆县| 临朐县| 宜州市| 云南省| 合作市| 邻水| 临桂县| 阳谷县| 婺源县| 东乌珠穆沁旗| 梓潼县|