Java中對象的銷毀方法分析
本文較為詳細的分析了Java中對象的銷毀方法。分享給大家供大家參考。具體分析如下:
Java中的基本數(shù)據(jù)類型變量和對象的名稱引用變量如定義在方法中,都為局部變量。但對象本身不一定是局部生命周期。如函數(shù)外存在其他對該對象的引用變量,則該對象的生命周期延伸至該其他引用變量所在的塊。
如從被調(diào)用函數(shù)參數(shù)引用傳值或返回值到主調(diào)用函數(shù)所在的對象類型變量中,則該對象都仍存在(但被調(diào)用函數(shù)的該對象的引用變量生命周期結(jié)束,因此引用變量是局部變量),此時對象突破了局部變量的局部生命期。
Java對象銷毀
Java中垃圾收集器自動地定期掃描Java對象的動態(tài)內(nèi)存,并將所有的引用對象加上標記,在對象運行結(jié)束后(無引用變量對該對象進行關聯(lián)),清除其標記,并將所有無標記的對象作為垃圾進行回收,釋放垃圾對象所占的內(nèi)存空間。
對象運行結(jié)束后或生命周期結(jié)束時,將成為垃圾對象,但并不意味著就立即會被回收,僅當垃圾收集器空閑或內(nèi)存不足時,才會回收他們。
Java中每個對象都擁有一個finalize()方法:
protected void finalize()throws Throwable{}
垃圾回收器在回收對象時自動調(diào)用對象的finalize()方法來釋放系統(tǒng)資源。
finalize()函數(shù)原型:
protected void |
finalize()
Called by the garbage collector on an object when garbage
collection determines that there are no more references to the object. |
相關文章
SpringBoot實現(xiàn)登錄攔截器超詳細教程分享
對于管理系統(tǒng)或其他需要用戶登錄的系統(tǒng),登錄驗證都是必不可少的環(huán)節(jié),尤其在?SpringBoot?開發(fā)的項目中。本文為大家準備了超詳細的SpringBoot實現(xiàn)登錄攔截器方法,快收藏一波吧2023-02-02
JAVA實現(xiàn)遍歷文件夾下的所有文件(遞歸調(diào)用和非遞歸調(diào)用)
本篇文章主要介紹了JAVA 遍歷文件夾下的所有文件(遞歸調(diào)用和非遞歸調(diào)用) ,具有一定的參考價值,有興趣的可以了解一下。2017-01-01
java實現(xiàn)fibonacci數(shù)列學習示例分享(斐波那契數(shù)列)
這篇文章主要介紹了fibonacci數(shù)列(斐波那契數(shù)列)示例,大家參考使用吧2014-01-01

