•強引用(FinalReference),在java中,有點像C++的指針,通過引用,可以對堆中的對象進行操作。強引用具備以下特點:
1.強引用可以直接訪問目標對象;
2.強引用所指向的對象在任務時候都不會被系統回收;
3.強引用可能導致內存泄露。
•軟引用(SoftReference),軟引用對象,在響應內存需要時,由垃圾回收器決定是否清除此對象。一個持有軟件引用的對象,不會被JVM很快回收,只要有足夠的內存,軟件引用便可能在內存中存活相當長的時間,軟引用對象最常用于實現內存敏感的緩存;
•弱引用(WeakReference),弱引用是一種比較弱的引用類型,在系統GC時,只要發現弱引用,不管系統堆內存是否足夠,都會將對象回收;
•虛引用(PhantomReference),虛引用是所有引用最弱的一個,一個持有虛引用的對象,和沒有引用幾乎是一樣的,隨時都可能被垃圾回收器回收。