在Java虛擬機中,如果reference型別的資料中存盤的數值代表的是另外一塊記憶體的起始地址,就稱這塊記憶體代表著一個參考,一共有4類參考:
- 強參考(Strong Reference)
類似Object obj = new Object()這類的參考,只要強參考還存在,垃圾收集器永遠不會回收掉被參考的物件,
- 軟參考(Soft Reference)
軟參考是用來描述一些還有用但并非必需的物件,對于軟參考關聯著的物件,在系統將要OOM之前,將會把這些物件列僅回收范圍中進行二次回收,
- 弱參考(Weak Reference)
弱參考也是用來描述非必需物件的,但是它的強度比軟參考更弱一些,被弱參考關聯的物件只能生存到下一次GC發生之前,ThreadLocal中就使用到了弱參考,
- 虛參考(Phantom Reference)
虛參考也稱為幽靈參考或者幻影參考,它是最弱的一種參考關系,一個物件是否有虛參考的存在,完全不會對其生存時間構成影響,也無法通過虛參考來取得一個物件實體,為一個物件設定虛參考關聯的唯一目的就是能在這個物件被收集器回收時收到一個系統通知,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143912.html
標籤:Java
上一篇:JVM運行時資料區域
下一篇:ThreadLocal原始碼決議
