第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java 中的所有軟引用都會(huì)一次性清除嗎?

java 中的所有軟引用都會(huì)一次性清除嗎?

守候你守候我 2021-07-09 17:00:25
我讀了這篇文章,現(xiàn)在我很清楚弱引用和軟引用之間的基本區(qū)別是什么。我也明白,與弱引用不同(如果沒有對(duì)該對(duì)象的強(qiáng)引用,這將導(dǎo)致在下一個(gè) GC 周期中收集該對(duì)象),軟引用會(huì)保留在內(nèi)存中,直到 JVM 內(nèi)存不足。但是我的問題是如果 JVM 內(nèi)存不足并且垃圾收集器也開始收集軟引用,它應(yīng)該在邏輯上收集所有具有軟引用的現(xiàn)有對(duì)象(我的猜測(cè))。我是對(duì)的嗎?我想到的另一件事是軟引用有一個(gè)很好的用例,那就是內(nèi)存緩存。但是如果我擁有的所有軟引用都將被 GC 一次性清除,那么這可能不是我們一直想要的。有沒有辦法控制將被清除的軟引用的百分比?或者我們可以告訴 GC 在它恢復(fù)了一定數(shù)量的內(nèi)存后停止清除軟引用嗎?我問這個(gè)是為了更好地掌握如何有效地使用軟引用,顯然沒有人會(huì)希望他們的緩存從內(nèi)存中完全清除,即使您需要非常少量的內(nèi)存。
查看完整描述

1 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

這里有更多非正式的答案:

首先,立即收集所有軟引用不是合乎邏輯的。從理論上講,JVM 可以(另外)跟蹤上次使用情況或某個(gè)使用情況計(jì)數(shù)器。并基于此做出決定(首先只清除“較舊”或“較少使用”的軟引用)?;蛘咚ㄟ^引用“鏈接”到的實(shí)際內(nèi)存量來對(duì)軟引用進(jìn)行排序。

除此之外,JVM 可能會(huì)在固定的內(nèi)存增量上運(yùn)行。意思是:當(dāng)您只需要/想要 50 MB 時(shí),為什么要丟棄 500 MB 內(nèi)存的軟引用?!

換句話說:清除所有軟引用是“最容易實(shí)現(xiàn)”的簡(jiǎn)單策略,但不是唯一的選擇。JVM 可以自由地實(shí)施各種策略。例如,試圖刪除盡可能少的軟引用,以便專門支持內(nèi)存緩存!

因此,除非其他答案可以顯示 JLS 部分明確指出它們應(yīng)該一次性全部清除,否則您不應(yīng)該根據(jù)您對(duì)合乎邏輯的“感知”得出結(jié)論。


查看完整回答
反對(duì) 回復(fù) 2021-07-14
  • 1 回答
  • 0 關(guān)注
  • 190 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)