隨筆-59  評(píng)論-31  文章-0  trackbacks-0
          java并發(fā)
          java.util.ConcurrentModificationException      摘要: Iterator 是工作在一個(gè)獨(dú)立的線程中,并且擁有一個(gè) mutex 鎖。 Iterator 被創(chuàng)建之后會(huì)建立一個(gè)指向原來(lái)對(duì)象的單鏈索引表,當(dāng)原來(lái)的對(duì)象數(shù)量發(fā)生變化時(shí),這個(gè)索引表的內(nèi)容不會(huì)同步改變,所以當(dāng)索引指針往后移動(dòng)的時(shí)候就找不到要迭代的對(duì)象,所以按照 fail-fast 原則 Iterator 會(huì)馬上拋出 java.util.ConcurrentModificationException 異常。
          所以 Iterator 在工作的時(shí)候是不允許被迭代的對(duì)象被改變的。但你可以使用 Iterator 本身的方法 remove() 來(lái)刪除對(duì)象, Iterator.remove() 方法會(huì)在刪除當(dāng)前迭代對(duì)象的同時(shí)維護(hù)索引的一致性  閱讀全文
          posted @ 2012-01-06 17:14 RoyPayne 閱讀(216) | 評(píng)論 (0)  編輯
          如何在java中正確使用volatile      摘要:   Java? 語(yǔ)言包含兩種內(nèi)在的同步機(jī)制:同步塊(或方法)和 volatile 變量。這兩種機(jī)制的提出都是為了實(shí)現(xiàn)代碼線程的安全性。其中 Volatile 變量的同步性較差(但有時(shí)它更簡(jiǎn)單并且開(kāi)銷(xiāo)更低),而且其使用也更容易出錯(cuò)。在這期的 Java 理論與實(shí)踐中,Brian Goetz 將介紹幾種正確使用 volatile 變量的模式,并針對(duì)其適用性限制提出一些建議。  閱讀全文
          posted @ 2012-01-06 10:44 RoyPayne 閱讀(310) | 評(píng)論 (1)  編輯
          Lock和Synchronized
          posted @ 2011-12-28 17:22 RoyPayne 閱讀(279) | 評(píng)論 (0)  編輯

          主站蜘蛛池模板: 宜兰县| 穆棱市| 涟水县| 平舆县| 濮阳市| 乳源| 霍邱县| 渝中区| 崇礼县| 广丰县| 镇平县| 阳东县| 潮州市| 金湖县| 广东省| 山东省| 葵青区| 格尔木市| 克什克腾旗| 富顺县| 锡林浩特市| 呼和浩特市| 财经| 乌恰县| 栾川县| 土默特右旗| 昌黎县| 团风县| 西城区| 雅江县| 平山县| 华坪县| 霍州市| 通江县| 滦平县| 前郭尔| 台州市| 丰宁| 依兰县| 勃利县| 黎城县|