1.前言算法
HotSpot採起了可達性分析算法用來判斷對象是否被能被GC,不管是引用計算法仍是可達性分析算法都是判斷對象是否存在引用來判斷對象是否存活。若是reference類型的數據中存儲的數值表明的是另一塊內存的起始地址,就稱這塊內存表明着一個引用。爲了豐富的描述對象與對象之間的關係,更爲了實現系統緩存的緣由,Java創建了四種引用級別。緩存
2.四種引用級別spa
在JDK1.2後,Java對引用的概念進行了擴充,將引用分爲強引用、軟引用、弱引用和虛引用4種,這4種引用強度依次減弱。對象
最後,下面經過圖來理解一下JVM回收機制究竟如何區別對待各類引用類型的:blog