0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

java四個(gè)引用的作用

汽車玩家 ? 來(lái)源:黑馬程序員 ? 作者:黑馬程序員 ? 2020-05-05 18:25 ? 次閱讀

什么是java四大引用?

是JDK1.2版本開始引入,把對(duì)象的引用分為4個(gè)等級(jí),我們平時(shí)學(xué)習(xí)的就是四種的第一級(jí)的強(qiáng)引用,說(shuō)白了,就Object o = new Object(),四個(gè)引用分別是強(qiáng)引用、軟引用、弱引用和虛引用,請(qǐng)記住它們的順序!因?yàn)檫@是它們對(duì)內(nèi)存的敏感程度!等級(jí): 強(qiáng) > 軟 > 弱 > 虛

它們有什么作用?

靈活的控制對(duì)象的生命周期

提高對(duì)象的回收機(jī)率

理論加代碼分析:

1.什么是強(qiáng)引用

強(qiáng)引用就是我們平時(shí)使用的對(duì)象方式,也是使用最多的一種方式,請(qǐng)記住不管內(nèi)存緊張也罷,不足也罷,gc永不回收強(qiáng)引用的對(duì)象, 即使jvm出現(xiàn)(內(nèi)存溢出錯(cuò)誤)OutOfMemoryError,使程序停止,也不會(huì)回收對(duì)象來(lái)提高內(nèi)存.

代碼

java四個(gè)引用的作用

1. 什么是軟引用

對(duì)象具備軟引用,請(qǐng)記住,只要內(nèi)存足夠,我們不對(duì)對(duì)象回收,但是當(dāng)內(nèi)存不足,gc對(duì)軟引用對(duì)象進(jìn)行回收 可以看出軟引用對(duì)內(nèi)存很敏感,可用來(lái)高速緩存,同時(shí)它可以結(jié)合隊(duì)列使用,如果軟引用被gc回收,jvm就會(huì)把軟引用加入到隊(duì)列中。

代碼

java四個(gè)引用的作用

3. 什么是弱引用?

gc不內(nèi)存是發(fā)現(xiàn)弱引用,就會(huì)立刻回收弱引用對(duì)象,但是我們知道gc是一個(gè)優(yōu)先級(jí)很低的線程,所以不一定立刻發(fā)現(xiàn)并回收弱引用對(duì)象,但記住,只要被gc發(fā)現(xiàn)弱引

用,不管內(nèi)存夠不夠,直接回收,同時(shí),弱引用,也可以結(jié)合隊(duì)列使用,當(dāng)被回收,就進(jìn)入與之關(guān)聯(lián)的隊(duì)列中

代碼

java四個(gè)引用的作用

4. 什么是虛引用?

虛引用和前面的軟引用、弱引用不同,它并不影響對(duì)象的生命周期。在java中用java.lang.ref.PhantomReference類表示。如果一個(gè)對(duì)象與虛引用關(guān)聯(lián),則跟沒(méi)有引用與之關(guān)聯(lián)一樣,在任何時(shí)候都可能被垃圾回收器回收。

要注意的是,虛引用必須和引用隊(duì)列關(guān)聯(lián)使用,當(dāng)垃圾回收器準(zhǔn)備回收一個(gè)對(duì)象 時(shí),如果發(fā)現(xiàn)它還有虛引用,就會(huì)把這個(gè)虛引用加入到與之 關(guān)聯(lián)的引用隊(duì)列中。程序可以通過(guò)判斷引用隊(duì)列中是否已經(jīng)加入了虛引用,來(lái)了解被引用的對(duì)象是否將要被垃圾回 收。如果程序發(fā)現(xiàn)某個(gè)虛引用已經(jīng)被加入到引用隊(duì)列,那么就可以在所引用的對(duì)象的內(nèi) 存被回收之前采取必要的行動(dòng)。

java四個(gè)引用的作用

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3052

    瀏覽量

    74248
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2974

    瀏覽量

    105031
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)DAC3484四個(gè)通道能否獨(dú)立使用?

    請(qǐng)問(wèn),DAC3484 四個(gè)通道能否獨(dú)立使用?即當(dāng)把DAC的NCO頻率設(shè)置為fs/2時(shí),IQ兩個(gè)通道是否就可以獨(dú)立了?
    發(fā)表于 01-23 07:35

    請(qǐng)問(wèn)AD9852四個(gè)輸出口有什么差別?

    AD9852四個(gè)輸出口有什么差別?是不是IOUT1是余弦輸出,IOUT2是DAC控制輸出,需要設(shè)置DAC控制寄存器?
    發(fā)表于 01-16 06:59

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN這四個(gè)管腳什么作用呢?

    ADS1158 MUXOUT、MUXOUTP、ADCINP和ADCINN這四個(gè)管腳什么作用呢,如果我用單端5V供電,2.5V基準(zhǔn)源,是否要按照datasheet里那種用運(yùn)放的接法嗎?
    發(fā)表于 01-01 06:39

    構(gòu)成電路的必要元件有哪四個(gè)

    構(gòu)成電路的必要元件主要有四個(gè),它們分別是: 電源 :電源是電路中提供電能的設(shè)備。它的作用是將其他形式的能量(如化學(xué)能、機(jī)械能等)轉(zhuǎn)換為電能,從而為電路中的其他元件提供所需的電壓和電流。沒(méi)有電源,電路
    的頭像 發(fā)表于 08-25 09:45 ?929次閱讀

    IGBT的四個(gè)主要參數(shù)

    IGBT的四個(gè)主要參數(shù)對(duì)于選擇合適的IGBT器件至關(guān)重要。本文將介紹IGBT的四個(gè)主要參數(shù):電壓等級(jí)、電流等級(jí)、開關(guān)頻率和熱性能。 1. 電壓等級(jí) 電壓等級(jí)是IGBT的一個(gè)重要參數(shù),它決定了IGBT能夠承受的最大電壓。電壓等級(jí)的
    的頭像 發(fā)表于 07-25 11:05 ?4283次閱讀

    四個(gè)2輸入正極和柵極74AC11008數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《四個(gè)2輸入正極和柵極74AC11008數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-28 09:43 ?0次下載
    <b class='flag-5'>四個(gè)</b>2輸入正極和柵極74AC11008數(shù)據(jù)表

    四個(gè)2輸入正與非門54ACT11000數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《四個(gè)2輸入正與非門54ACT11000數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-27 10:10 ?0次下載
    <b class='flag-5'>四個(gè)</b>2輸入正與非門54ACT11000數(shù)據(jù)表

    四個(gè)2輸入異或門數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《四個(gè)2輸入異或門數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-22 09:58 ?0次下載
    <b class='flag-5'>四個(gè)</b>2輸入異或門數(shù)據(jù)表

    四個(gè)2輸入正極和柵極數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《四個(gè)2輸入正極和柵極數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-17 10:28 ?0次下載
    <b class='flag-5'>四個(gè)</b>2輸入正極和柵極數(shù)據(jù)表

    四個(gè)2輸入正極和柵極數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《四個(gè)2輸入正極和柵極數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-16 10:22 ?0次下載
    <b class='flag-5'>四個(gè)</b>2輸入正極和柵極數(shù)據(jù)表

    四個(gè)2輸入異或門數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《四個(gè)2輸入異或門數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-13 11:04 ?0次下載
    <b class='flag-5'>四個(gè)</b>2輸入異或門數(shù)據(jù)表

    四個(gè)2輸入正極和柵極數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《四個(gè)2輸入正極和柵極數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 05-10 10:10 ?0次下載
    <b class='flag-5'>四個(gè)</b>2輸入正極和柵極數(shù)據(jù)表

    有源晶振四個(gè)腳是如何定義的?

    有源晶振四個(gè)腳是如何定義的?有源晶振型號(hào)類型比較多,而且每一種型號(hào)的引腳定義都有所不同,接法也不是通用的。下面小揚(yáng)介紹一下有源晶振常用引腳識(shí)別法,以方便大家:有個(gè)點(diǎn)標(biāo)記的為1腳,按逆時(shí)針(管腳向下)分別為2、3、4。
    的頭像 發(fā)表于 04-28 15:37 ?1613次閱讀
    有源晶振<b class='flag-5'>四個(gè)</b>腳是如何定義的?

    半導(dǎo)體發(fā)展的四個(gè)時(shí)代

    臺(tái)積電的 Suk Lee 發(fā)表了題為“摩爾定律和半導(dǎo)體行業(yè)的第四個(gè)時(shí)代”的主題演講。Suk Lee表示,任何試圖從半導(dǎo)體行業(yè)傳奇而動(dòng)蕩的歷史中發(fā)掘出一些意義的事情都會(huì)引起我的注意。正如臺(tái)積電所解釋
    發(fā)表于 03-27 16:17

    半導(dǎo)體發(fā)展的四個(gè)時(shí)代

    臺(tái)積電的 Suk Lee 發(fā)表了題為“摩爾定律和半導(dǎo)體行業(yè)的第四個(gè)時(shí)代”的主題演講。Suk Lee表示,任何試圖從半導(dǎo)體行業(yè)傳奇而動(dòng)蕩的歷史中發(fā)掘出一些意義的事情都會(huì)引起我的注意。正如臺(tái)積電所解釋
    發(fā)表于 03-13 16:52