posts - 12,comments - 1,trackbacks - 0
          對soft reference,比較容易理解它的用處。它天生就是為實現cache來設計的。關于weak reference,好像很少有人說的清楚。有的和soft reference混在一起談,有的就是簡單翻譯java doc中的說明,看得出翻譯的人自己也不是很理解,所以只能一筆帶過。

          我也一直不是很清楚它的實際用途,今天我突然想到WeakReference可能的設計目的。

          從java的內存泄漏說起,以前說到java也會內存泄漏的時候往往會舉這樣的例子,對象保存在一個全局表中,造成無法回收。一般的解決方法是不要使用全局表或者記得更新。但在實際開發中,有時必須要使用全局表,但無法明確知道該對象是否可銷毀,因為對象可能被多個線程共享訪問,所以程序不能確切的更新表中的引用。這時候weak reference就有用武之地,用WeakHashMap構造全局表,key和value之間是weak reference,這樣的話程序員就不用考慮更新該表了,只要該對象沒有強引用指向它,gc就可以回收它了。

          回頭去找一個實際的例子對照看看,記得在JDK中,weak reference還是用的很頻繁的。

          posted on 2008-07-25 22:51 白色天堂 閱讀(612) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 贞丰县| 乌苏市| 武功县| 澄迈县| 仙游县| 忻城县| 东城区| 陇西县| 布尔津县| 鲁甸县| 大悟县| 西乌珠穆沁旗| 湖口县| 久治县| 沐川县| 青冈县| 开原市| 桐梓县| 宿松县| 民乐县| 钟祥市| 鲜城| 樟树市| 高陵县| 隆化县| 北票市| 广昌县| 东莞市| 桑日县| 三江| 邢台县| 洮南市| 安图县| 丰顺县| 昌邑市| 山西省| 佛教| 防城港市| 沂南县| 读书| 宜州市|