什么樣的對象要回收帕胆?
當然是死掉的對象荆永,那么废亭,怎么判斷是死掉的對象?有幾種方法:
1.引用計數(shù)法
對象有一個引用計數(shù)器具钥,保存指向它的引用滔以。當計數(shù)器為0的時候,就沒有引用指向它氓拼,那么就可以被回收。
弊端:AB互相持有對方的引用抵碟,那么AB永遠不會被回收桃漾,造成內(nèi)存空間的浪費。
2.可達性分析
GC Roots對象拟逮,從這些對象出發(fā)撬统,向下搜索,走過的路徑成為引用鏈敦迄,當一個對象到GC Roots沒有任何引用鏈鏈接的時候恋追,那么,這個對象就可以被回收罚屋。
GC Roots對象包括:
虛擬機棧中的對象
本地方法棧中的對象
方法區(qū)中常量引用的對象
方法區(qū)中靜態(tài)變量引用的對象