<dd id="aavmg"></dd>

<th id="aavmg"><track id="aavmg"></track></th>
  • <span id="aavmg"><pre id="aavmg"></pre></span>
    <tbody id="aavmg"></tbody>
    <th id="aavmg"><track id="aavmg"></track></th>

  • <em id="aavmg"><acronym id="aavmg"><u id="aavmg"></u></acronym></em>

    <em id="aavmg"><ruby id="aavmg"></ruby></em>

    1. <span id="aavmg"></span>
      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:9:00-18:00
      你可能遇到了下面的問題
      關閉右側工具欄
      什么是java四大引用?
      • 作者:admin
      • 發表時間:2020-05-09 09:20
      • 來源:未知

      ?是JDK1.2版本開始引入,把對象的引用分為4個等級,我們平時學習的就是四種的第一級的強引用,說白了,就Object o = new Object(),四個引用分別是強引用、軟引用、弱引用和虛引用,請記住它們的順序!因為這是它們對內存的敏感程度!等級: 強 > 軟 > 弱 > 虛

      它們有什么作用?

      靈活的控制對象的生命周期

      提高對象的回收機率

      理論加代碼分析:

      1.什么是強引用

      強引用就是我們平時使用的對象方式,也是使用最多的一種方式,請記住不管內存緊張也罷,不足也罷,gc永不回收強引用的對象, 即使jvm 出現(內存溢出錯誤)OutOfMemoryError,使程序停止,也不會回收對象來提高內存.

      代碼

       

      1. 什么是軟引用

      對象具備軟引用,請記住,只要內存足夠,我們不對對象回收,但是當內存不足, gc對軟引用對象進行回收 可以看出軟引用對內存很敏感,可用來高速緩存,同時它可以結合隊列使用,如果軟引用被gc回收,jvm就會把軟引用加入到隊列中。

      代碼

       

      3. 什么是弱引用?

      gc不內存是發現弱引用,就會立刻回收弱引用對象,但是我們知道gc是一個優先級很低的線程,所以不一定立刻發現并回收弱引用對象,但記住,只要被gc發現弱引

      用,不管內存夠不夠,直接回收,同時,弱引用,也可以結合隊列使用,當被回收,就進入與之關聯的隊列中

      代碼

       

      4. 什么是虛引用?

      虛引用和前面的軟引用、弱引用不同,它并不影響對象的生命周期。在java中用java.lang.ref.PhantomReference類表示。如果一個對象與虛引用關聯,則跟沒有引用與之關聯一樣,在任何時候都可能被垃圾回收器回收。

      要注意的是,虛引用必須和引用隊列關聯使用,當垃圾回收器準備回收一個對象 時,如果發現它還有虛引用,就會把這個虛引用加入到與之 關聯的引用隊列中。程序可以通過判斷引用隊列中是否已經加入了虛引用,來了解被引用的對象是否將要被垃圾回 收。如果程序發現某個虛引用已經被加入到引用隊列,那么就可以在所引用的對象的內 存被回收之前采取必要的行動。

      對于熱愛編程的人來說,有一群一起學習一起解答的小伙伴很重要!筆者有一個編程零基礎入門學習交流俱樂部(群)私信我【編程學習】進入

      无遮挡在线18禁免费观看完整_日本三级韩国三级美三级_亚洲色欲综合天堂亚洲_琪琪网最新伦永久观看2019