真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中軟引用的使用方法

小編給大家分享一下java中軟引用的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)主營市南網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),市南h5微信小程序開發(fā)搭建,市南網(wǎng)站營銷推廣歡迎市南等地區(qū)企業(yè)咨詢

在內(nèi)存充足的時(shí)候,放置一些數(shù)據(jù)還沒有影響。一旦內(nèi)存不夠再去一個(gè)個(gè)的清理,就會(huì)比較麻煩。我們可以在設(shè)置代碼的時(shí)候就使用軟引用,當(dāng)內(nèi)存不足時(shí)就會(huì)自動(dòng)清理掉,放置一些不是很重要的數(shù)據(jù)非常好用。接下來我們就軟引用的概念、應(yīng)用場(chǎng)景、實(shí)例分享給大家,具體內(nèi)容往下看:

1.概念

軟引用是用來描述一些還有用,但非必須的對(duì)象。只被軟引用關(guān)聯(lián)著的對(duì)象,在系統(tǒng)將要發(fā)生內(nèi)存溢出異常前,會(huì)把這些對(duì)象列進(jìn)回收范圍之中進(jìn)行第二次回收,如果這次回收還沒有足夠的內(nèi)存,才會(huì)拋出內(nèi)存溢出異常

2.應(yīng)用場(chǎng)景

軟引用通常用來實(shí)現(xiàn)內(nèi)存敏感的緩存。如果還有空閑內(nèi)存,就可以暫時(shí)保留緩存,當(dāng)內(nèi)存不足時(shí)清理掉,這樣就保證了使用緩存的同時(shí),不會(huì)耗盡內(nèi)存。

3.實(shí)例

byte[] data = new byte[1*1024*1024];
ReferenceQueue referenceQueue = new ReferenceQueue<>();
SoftReference 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中軟引用的使用方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享文章:java中軟引用的使用方法
文章出自:http://weahome.cn/article/pgegec.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部