Java引用

** 深入理解引用 **

問(wèn):底層怎么實(shí)現(xiàn)的谦趣?
答:由于reference類(lèi)型在Java虛擬機(jī)規(guī)范里面只規(guī)定了一個(gè)指向?qū)ο蟮囊玫嗄梗](méi)有定義這個(gè)引用應(yīng)該通過(guò)哪種方式去定位,以及訪問(wèn)到Java堆中的對(duì)象的具體位置肥印,因此不同虛擬機(jī)實(shí)現(xiàn)的對(duì)象訪問(wèn)方式會(huì)有所不同,主流的訪問(wèn)方式有兩種:使用句柄池和直接使用指針排监。

Java的四種引用捻艳,強(qiáng)弱軟虛,用到的場(chǎng)景比驻。

  • JDK1.2之前只有強(qiáng)引用,其他幾種引用都是在JDK1.2之后引入的.
    ** 強(qiáng)引用 **(Strong Reference) 最常用的引用類(lèi)型该溯,如Object obj = new Object(); 。只要強(qiáng)引用存在則GC時(shí)則必定不被回收别惦。

  • ** 軟引用 **(Soft Reference) 用于描述還有用但非必須的對(duì)象狈茉,當(dāng)堆將發(fā)生OOM(Out Of Memory)時(shí)則會(huì)回收軟引用所指向的內(nèi)存空間,若回收后依然空間不足才會(huì)拋出OOM步咪。一般用于實(shí)現(xiàn)內(nèi)存敏感的高速緩存论皆。 當(dāng)真正對(duì)象被標(biāo)記finalizable以及的finalize()方法調(diào)用之后并且內(nèi)存已經(jīng)清理, 那么如果SoftReference object還存在就被加入到它的 ReferenceQueue.只有前面幾步完成后,Soft Reference和Weak Reference的get方法才會(huì)返回null

  • ** 弱引用 **(Weak Reference) 發(fā)生GC時(shí)必定回收弱引用指向的內(nèi)存空間益楼。 和軟引用加入隊(duì)列的時(shí)機(jī)相同

  • ** 虛引用 **(Phantom Reference) 又稱(chēng)為幽靈引用或幻影引用猾漫,虛引用既不會(huì)影響對(duì)象的生命周期,也無(wú)法通過(guò)虛引用來(lái)獲取對(duì)象實(shí)例感凤,僅用于在發(fā)生GC時(shí)接收一個(gè)系統(tǒng)通知悯周。 當(dāng)一個(gè)對(duì)象的finalize方法已經(jīng)被調(diào)用了之后,這個(gè)對(duì)象的幽靈引用會(huì)被加入到隊(duì)列中陪竿。通過(guò)檢查該隊(duì)列里面的內(nèi)容就知道一個(gè)對(duì)象是不是已經(jīng)準(zhǔn)備要被回收了. 虛引用和軟引用和弱引用都不同,它會(huì)在內(nèi)存沒(méi)有清理的時(shí)候被加入引用隊(duì)列.虛引用的建立必須要傳入引用隊(duì)列,其他可以沒(méi)有

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末禽翼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子族跛,更是在濱河造成了極大的恐慌闰挡,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件礁哄,死亡現(xiàn)場(chǎng)離奇詭異长酗,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)桐绒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)夺脾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)之拨,“玉大人,你說(shuō)我怎么就攤上這事咧叭∈辞牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵菲茬,是天一觀的道長(zhǎng)吉挣。 經(jīng)常有香客問(wèn)我,道長(zhǎng)婉弹,這世上最難降的妖魔是什么听想? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮马胧,結(jié)果婚禮上汉买,老公的妹妹穿的比我還像新娘。我一直安慰自己佩脊,他們只是感情好蛙粘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著威彰,像睡著了一般出牧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上歇盼,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天舔痕,我揣著相機(jī)與錄音,去河邊找鬼豹缀。 笑死伯复,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的邢笙。 我是一名探鬼主播啸如,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼氮惯!你這毒婦竟也來(lái)了叮雳?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤妇汗,失蹤者是張志新(化名)和其女友劉穎帘不,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體杨箭,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寞焙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了告唆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棺弊。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晶密,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出模她,到底是詐尸還是另有隱情稻艰,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布侈净,位于F島的核電站尊勿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏畜侦。R本人自食惡果不足惜元扔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旋膳。 院中可真熱鬧澎语,春花似錦、人聲如沸验懊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)义图。三九已至减俏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碱工,已是汗流浹背娃承。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怕篷,地道東北人历筝。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像匙头,于是被迫代替她去往敵國(guó)和親漫谷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仔雷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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