Java四種引用包括強(qiáng)引用,軟引用或听,弱引用探孝,虛引用

強(qiáng)引用

只要引用存在,垃圾回收器永遠(yuǎn)不會(huì)回收
Object obj = new Object();
//可直接通過(guò)obj取得對(duì)應(yīng)的對(duì)象 如obj.equels(new Object());
而這樣 obj對(duì)象對(duì)后面new Object的一個(gè)強(qiáng)引用誉裆,只有當(dāng)obj這個(gè)引用被釋放之后顿颅,對(duì)象才會(huì)被釋放掉,這也是我們經(jīng)常所用到的編碼形式足丢。

軟引用

非必須引用粱腻,內(nèi)存溢出之前進(jìn)行回收,可以通過(guò)以下代碼實(shí)現(xiàn)
Object obj = new Object();
SoftReference<Object> sf = new SoftReference<Object>(obj);
obj = null;
sf.get();//有時(shí)候會(huì)返回null
這時(shí)候sf是對(duì)obj的一個(gè)軟引用斩跌,通過(guò)sf.get()方法可以取到這個(gè)對(duì)象绍些,當(dāng)然,當(dāng)這個(gè)對(duì)象被標(biāo)記為需要回收的對(duì)象時(shí)耀鸦,則返回null柬批;
軟引用主要用戶實(shí)現(xiàn)類似緩存的功能,在內(nèi)存足夠的情況下直接通過(guò)軟引用取值袖订,無(wú)需從繁忙的真實(shí)來(lái)源查詢數(shù)據(jù)氮帐,提升速度;當(dāng)內(nèi)存不足時(shí)洛姑,自動(dòng)刪除這部分緩存數(shù)據(jù)上沐,從真正的來(lái)源查詢這些數(shù)據(jù)。

弱引用

第二次垃圾回收時(shí)回收楞艾,可以通過(guò)如下代碼實(shí)現(xiàn)
Object obj = new Object();
WeakReference<Object> wf = new WeakReference<Object>(obj);
obj = null;
wf.get();//有時(shí)候會(huì)返回null
wf.isEnQueued();//返回是否被垃圾回收器標(biāo)記為即將回收的垃圾
弱引用是在第二次垃圾回收時(shí)回收参咙,短時(shí)間內(nèi)通過(guò)弱引用取對(duì)應(yīng)的數(shù)據(jù),可以取到产徊,當(dāng)執(zhí)行過(guò)第二次垃圾回收時(shí)昂勒,將返回null。
弱引用主要用于監(jiān)控對(duì)象是否已經(jīng)被垃圾回收器標(biāo)記為即將回收的垃圾舟铜,可以通過(guò)弱引用的isEnQueued方法返回對(duì)象是否被垃圾回收器標(biāo)記戈盈。

虛引用

垃圾回收時(shí)回收,無(wú)法通過(guò)引用取到對(duì)象值,可以通過(guò)如下代碼實(shí)現(xiàn)
Object obj = new Object();
PhantomReference<Object> pf = new PhantomReference<Object>(obj);
obj=null;
pf.get();//永遠(yuǎn)返回null
pf.isEnQueued();//返回是否從內(nèi)存中已經(jīng)刪除
虛引用是每次垃圾回收的時(shí)候都會(huì)被回收塘娶,通過(guò)虛引用的get方法永遠(yuǎn)獲取到的數(shù)據(jù)為null归斤,因此也被成為幽靈引用。
虛引用主要用于檢測(cè)對(duì)象是否已經(jīng)從內(nèi)存中刪除刁岸。

參考 https://www.cnblogs.com/yw-ah/p/5830458.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脏里,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子虹曙,更是在濱河造成了極大的恐慌迫横,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酝碳,死亡現(xiàn)場(chǎng)離奇詭異矾踱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)疏哗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門呛讲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人返奉,你說(shuō)我怎么就攤上這事贝搁。” “怎么了芽偏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵雷逆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我污尉,道長(zhǎng)关面,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任十厢,我火速辦了婚禮,結(jié)果婚禮上捂齐,老公的妹妹穿的比我還像新娘蛮放。我一直安慰自己,他們只是感情好奠宜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布包颁。 她就那樣靜靜地躺著,像睡著了一般压真。 火紅的嫁衣襯著肌膚如雪娩嚼。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天滴肿,我揣著相機(jī)與錄音岳悟,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛贵少,可吹牛的內(nèi)容都是我干的呵俏。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼滔灶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼普碎!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起录平,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤麻车,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后斗这,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體动猬,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年涝影,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枣察。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡燃逻,死狀恐怖序目,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伯襟,我是刑警寧澤猿涨,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站姆怪,受9級(jí)特大地震影響叛赚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稽揭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一俺附、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧溪掀,春花似錦事镣、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至喊递,卻和暖如春随闪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背骚勘。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工铐伴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓盛杰,卻偏偏與公主長(zhǎng)得像挽荡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子即供,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容