長話短說-再談強引用、弱引用、虛引用

俗話說:"說不如做,看書不如把代碼敲一遍。"對於三種常用的引用概念,本人還是覺得用代碼說話比較實在。好,說幹就幹!

1. 強引用,有人在引用我,我就不能被刪除。如下:

長話短說-再談強引用、弱引用、虛引用_第1张图片
Sample Class

執行以下代碼,A12沒有被回收,因此B12引用了A12。:

長話短說-再談強引用、弱引用、虛引用_第2张图片
code

把注釋去掉,A12回收了。

2. 軟引用,沒有強引用的情況下,要等到記憶體不足的時候才會釋放。

JVM參數:-Xms5M -Xmx5M

長話短說-再談強引用、弱引用、虛引用_第3张图片
coe

輸出為:A12::finalize,null

下圖中,是不會被回收的,因為記憶體還足夠。

長話短說-再談強引用、弱引用、虛引用_第4张图片
code

3. 弱引用,沒有強引用的情況下,馬上回收。

長話短說-再談強引用、弱引用、虛引用_第5张图片
code

你可能感兴趣的:(長話短說-再談強引用、弱引用、虛引用)