Java 具有四種強度不同的引用類型。
1、強引用
被強引用關聯的對象不會被回收。
使用 new 一個新對象的方式來創建強引用。
2、軟引用
被軟引用關聯的對象只有在內存不夠的情況下才會被回收。
使用 SoftReference 類來創建軟引用。
3、弱引用被弱引用關聯的對象一定會被回收,也就是說它只能存活到下一次垃圾回收發生之前。使用 WeakReference 類來實現弱引用。
4、虛引用又稱為幽靈引用或者幻影引用。一個對象是否有虛引用的存在,完全不會對其生存時間構成影響,也無法通過虛引用取得一個對象。為一個對象設置虛引用關聯的唯一目的就是能在這個對象被回收時收到一個系統通知。使用 PhantomReference 來實現虛引用。