2017-06-09-Java引用基礎(chǔ)

1,強(qiáng)引用(strong referenced):StrongReference 是 Java 的默認(rèn)引用實(shí)現(xiàn), 它會(huì)盡可能長時(shí)間的存活于 JVM 內(nèi), 當(dāng)沒有任何對象指向它時(shí) GC 執(zhí)行后將會(huì)被回收

2,弱引用(WeakReference):當(dāng)所引用的對象在 JVM 內(nèi)不再有強(qiáng)引用時(shí), GC 后 weak reference 將會(huì)被自動(dòng)回收
WeakHashMap 使用 WeakReference 作為 key, 一旦沒有指向 key 的強(qiáng)引用, WeakHashMap 在 GC 后將自動(dòng)刪除相關(guān)的 entry

3,軟應(yīng)用(soft referenced):SoftReference 于 WeakReference 的特性基本一致, 最大的區(qū)別在于 SoftReference 會(huì)盡可能長的保留引用直到 JVM 內(nèi)存不足時(shí)才會(huì)被回收(虛擬機(jī)保證), 這一特性使得 SoftReference 非常適合緩存應(yīng)用

4,內(nèi)存緩存(LruCache):常用于緩存bitmap,實(shí)現(xiàn)方式是[LinkedHashMap]保存最近引用的對象,并且在緩存超出設(shè)置大小的時(shí)候剔除(evict)最近最少使用到的對象。

5,Disk Cache(磁盤緩存):

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容