目錄線程
對象至少被一個強引用持有而且對象在做用域內code
程序自己再也不持有該對象的任何強引用,可是這些引用可能還存在着;
通常具體是指程序的執行已經超過該對象的做用域了對象
該對象再也不被任何強引用所持有;
可能仍被JVM等系統下的某些已經裝載的驚天變靈或者線程或JNI所持有,這些特殊的強引用被稱爲GC root,這種狀況容易致使內存泄露,沒法被回收遞歸
對象不可達,而且GC已經準備好對該對象佔用的內存空間從新分配的時候,處於手機階段。
若是重寫了finazlie()
方法,則會去執行該方法。內存
儘可能不要重寫finazlie()方法,由於有可能影響JVM的對象分配與回收速度或者可能形成該對象的再次復活作用域
當對象執行完finalize()
方法以後,仍然處於不可達狀態時,則該對象進入終結階段。在這個階段,內存空間等待GC進行回收it
GC對該對象佔有的內存空間進行回收或者再分配,該對象完全消失class