1. 程式人生 > >04 Java的4種引用概念

04 Java的4種引用概念

3.2.3節 JDK1.2後,Java將引用分為強引用(StrongReference)、軟引用(SoftReference)、弱引用(WeakReference)、虛引用(PhantomReference),4種引用強度依次逐漸減弱 1.強引用: 程式程式碼中普遍存在、類似"Objectobj=newObject()"的引用 只要強引用還存在,垃圾收集器永遠不會回收被引用的物件 2.軟引用: 還有用但並非必需的物件 系統發生記憶體溢位異常之前,會把軟引用物件列進回收範圍進行第二次回收,如果回收後還沒有足夠記憶體,才會丟擲記憶體溢位異常 在JDK1.2之後,提供SoftReference類實現軟引用 3.弱引用: 也用來描述非必需物件,但強度比軟引用更弱一些 弱引用關聯物件只能生存到下一次垃圾收集發生之前,垃圾收集器工作時,無論當前記憶體是否足夠,都會回收掉只弱引用關聯的物件 在JDK1.2之後,提供WeakReference類實現弱引用 4. 虛引用:
也稱為幽靈引用、幻影引用,最弱的一種引用關係 物件是否有虛引用的存在,完全不會對其生存時間構成影響,也無法通過虛引用取得物件例項 為物件設定虛引用關聯的唯一目的是能在這個物件被收集器回收時收到一個系統通知 在JDK1.2之後,提供PhantomReference類實現虛引用