中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

java中軟引用的用法

發布時間:2021-03-04 11:42:44 來源:億速云 閱讀:110 作者:小新 欄目:編程語言

這篇文章主要介紹了java中軟引用的用法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在內存充足的時候,放置一些數據還沒有影響。一旦內存不夠再去一個個的清理,就會比較麻煩。我們可以在設置代碼的時候就使用軟引用,當內存不足時就會自動清理掉,放置一些不是很重要的數據非常好用。接下來我們就軟引用的概念、應用場景、實例分享給大家,具體內容往下看:

1.概念

軟引用是用來描述一些還有用,但非必須的對象。只被軟引用關聯著的對象,在系統將要發生內存溢出異常前,會把這些對象列進回收范圍之中進行第二次回收,如果這次回收還沒有足夠的內存,才會拋出內存溢出異常

2.應用場景

軟引用通常用來實現內存敏感的緩存。如果還有空閑內存,就可以暫時保留緩存,當內存不足時清理掉,這樣就保證了使用緩存的同時,不會耗盡內存。

3.實例

byte[] data = new byte[1*1024*1024];
ReferenceQueue<Object> referenceQueue = new ReferenceQueue<>();
SoftReference<byte[]> softReference = new SoftReference<>(data,referenceQueue);
data = null;
System.out.println("before:"+softReference.get());
 
try {
    for (int i = 0; i < 10; i++) {
        byte[] temp = new byte[3*1024*1024];
        System.out.println("processing:"+softReference.get());
    }
} catch (Throwable t) {
    System.out.println("after:"+softReference.get());
    t.printStackTrace();
}
while(referenceQueue.poll()!=null){
    System.out.println("self:"+softReference);
    softReference.clear();
    softReference = null;
    System.out.println("last:"+softReference);
}
VM options:-Xms5m -Xmx5m -XX:+PrintGC

感謝你能夠認真閱讀完這篇文章,希望小編分享的“java中軟引用的用法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

AI

凌海市| 临漳县| 全椒县| 车致| 乐陵市| 沛县| 定兴县| 洱源县| 攀枝花市| 夏邑县| 汤原县| 大同县| 昆明市| 博爱县| 泽普县| 襄汾县| 电白县| 南华县| 河津市| 宁波市| 九龙坡区| 合作市| 关岭| 枣强县| 丰镇市| 壶关县| 墨竹工卡县| 咸阳市| 双江| 饶平县| 禹城市| 饶河县| 唐海县| 莎车县| 洛南县| 垫江县| 建阳市| 离岛区| 赫章县| 鄂伦春自治旗| 沙河市|