91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java的四種引用方式是什么

發布時間:2021-10-29 19:39:40 來源:億速云 閱讀:325 作者:iii 欄目:開發技術

本篇內容主要講解“Java的四種引用方式是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java的四種引用方式是什么”吧!

1.強引用(StrongReference)

  • 使用最普遍的引用。

  • 只要引用鏈沒有斷開,強引用就不會斷開。- 當內存空間不足,拋出OutOfMemoryError終止程序也不會回收具有強引用的對象。

  • 通過將對象設置為null來弱化引用,使其被回收

Object object = new Object();
String str = "scc";
//都是強引用

2.軟引用(SoftReference)

  • 對象處在有用但非必須的狀態

  • 只有當內存空間不足時, GC會回收該引用的對象的內存。

  • 可以用來實現高速緩存(作用)--比如網頁緩存、圖片緩存

// 注意:wrf這個引用也是強引用,它是指向SoftReference這個對象的,
// 這里的軟引用指的是指向new String("str")的引用,也就是SoftReference類中T
SoftReference<String> wrf = new SoftReference<String>(new String("str"));

3.弱引用(WeakReference)

弱引用就是只要JVM垃圾回收器發現了它,就會將之回收。

  • 非必須的對象,比軟引用更弱一-些

  • GC時會被回

  • 被回收的概率也不大,因為GC線程優先級比較低

  • 適用于引用偶爾被使用且不影響垃圾收集的對象 使用:

Map<Key, ResourceWeakReference> activeEngineResources = new HashMap<>();
//ResourceWeakReference弱引用

4.虛引用(PhantomReference)

  • 不會決定對象的生命周期

  • 任何時候都可能被垃圾收集器回收

  • 跟蹤對象被垃圾收集器回收的活動,起哨兵作用

  • 必須和引用隊列ReferenceQueue聯合使用

        當垃圾回收器準備回收一個對象時,如果發現它還有虛引用,就會把這個虛引用加入到與之 關聯的引用隊列中。

        程序可以通過判斷引用隊列中是否已經加入了虛引用,來了解被引用的對象是否將要被垃圾回收。如果程序發現某個虛引用已經被加入到引用隊列,那么就可以在所引用的對象的內存被回收之前采取必要的行動。

Object obj = new Object();
ReferenceQueue queue = new ReferenceQueue();
PhantomReference reference = new PhantomReference(obj, queue);
//強引用對象滯空,保留軟引用
obj = null;

5. 引用隊列(ReferenceQueue)

  • 無實際存儲結構,存儲邏輯依賴于內部節點之間的關系來表達

  • 存儲關聯的且被GC的軟引用,弱引用以及虛引用

Java的四種引用方式是什么

到此,相信大家對“Java的四種引用方式是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柘荣县| 宁乡县| 千阳县| 武隆县| 孟津县| 梁山县| 东山县| 迭部县| 浏阳市| 秦安县| 陆河县| 陵川县| 红安县| 晋州市| 衢州市| 安图县| 台东市| 馆陶县| 卫辉市| 盐亭县| 长丰县| 临江市| 盘锦市| 芮城县| 融水| 陇川县| 马边| 乌恰县| 当雄县| 松潘县| 余干县| 苏尼特右旗| 广宗县| 井研县| 富阳市| 锦屏县| 五大连池市| 新昌县| 荣昌县| 定襄县| 秭归县|