java的四種引用類型


java有四種引用類型

  1. StrongReference 強引用,最普通的引用,虛擬機即使拋出OOM也不會回收此類引用的對象
  2. SoftReference 軟引用,虛擬機只在OOM前會回收此類引用(虛擬機在GC后發(fā)現(xiàn)內(nèi)存空間仍然不足時,會回收軟引用的對象)
  3. WeakReference 弱引用,虛擬機在GC時會回收此類引用
  4. PhantomReference 虛引用,僅用來處理資源清理問題,比finalize靈活

總結(jié)一下

引用類型 目的 應(yīng)用 GC時機 實現(xiàn)類
強引用 普通引用類型 普通引用類型 永遠不會被GC
軟引用 只要內(nèi)存充足,對象就不會被回收 內(nèi)存敏感的緩存,可以一直填充對象而不會OOM的Map OOM前進行回收 SoftReference
弱引用 不再使用時被GC回收 容器認為對象無用時,取消強引用,自動被GC回收 GC時 WeakReference,WeakHashMap
虛引用 處理資源清理問題,比finalize靈活 finalize函數(shù)的替代或增強 GC時 PhantomReference
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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