日本a在线观看_伊人久久大香线蕉综合高清_九色视频网址_japanesehdxxxx国产

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:9:00-18:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

技術(shù)支持

什么是java四大引用?
  • 作者:admin
  • 發(fā)表時(shí)間:2020-05-09 01:20:41
  • 來源:本站

?是JDK1.2版本開始引入,把對(duì)象的引用分為4個(gè)等級(jí),我們平時(shí)學(xué)習(xí)的就是四種的第一級(jí)的強(qiáng)引用,說白了,就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ì)象來提高內(nèi)存.

代碼

 

1. 什么是軟引用

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

代碼

 

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ì)列中

代碼

 

4. 什么是虛引用?

虛引用和前面的軟引用、弱引用不同,它并不影響對(duì)象的生命周期。在java中用java.lang.ref.PhantomReference類表示。如果一個(gè)對(duì)象與虛引用關(guān)聯(lián),則跟沒有引用與之關(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ì)列中。程序可以通過判斷引用隊(duì)列中是否已經(jīng)加入了虛引用,來了解被引用的對(duì)象是否將要被垃圾回 收。如果程序發(fā)現(xiàn)某個(gè)虛引用已經(jīng)被加入到引用隊(duì)列,那么就可以在所引用的對(duì)象的內(nèi) 存被回收之前采取必要的行動(dòng)。

對(duì)于熱愛編程的人來說,有一群一起學(xué)習(xí)一起解答的小伙伴很重要!筆者有一個(gè)編程零基礎(chǔ)入門學(xué)習(xí)交流俱樂部(群)私信我【編程學(xué)習(xí)】進(jìn)入