Java中對象的銷毀方法分析
本文較為詳細(xì)的分析了Java中對象的銷毀方法。分享給大家供大家參考。具體分析如下:
Java中的基本數(shù)據(jù)類型變量和對象的名稱引用變量如定義在方法中,都為局部變量。但對象本身不一定是局部生命周期。如函數(shù)外存在其他對該對象的引用變量,則該對象的生命周期延伸至該其他引用變量所在的塊。
如從被調(diào)用函數(shù)參數(shù)引用傳值或返回值到主調(diào)用函數(shù)所在的對象類型變量中,則該對象都仍存在(但被調(diào)用函數(shù)的該對象的引用變量生命周期結(jié)束,因此引用變量是局部變量),此時(shí)對象突破了局部變量的局部生命期。
Java對象銷毀
Java中垃圾收集器自動(dòng)地定期掃描Java對象的動(dòng)態(tài)內(nèi)存,并將所有的引用對象加上標(biāo)記,在對象運(yùn)行結(jié)束后(無引用變量對該對象進(jìn)行關(guān)聯(lián)),清除其標(biāo)記,并將所有無標(biāo)記的對象作為垃圾進(jìn)行回收,釋放垃圾對象所占的內(nèi)存空間。
對象運(yùn)行結(jié)束后或生命周期結(jié)束時(shí),將成為垃圾對象,但并不意味著就立即會(huì)被回收,僅當(dāng)垃圾收集器空閑或內(nèi)存不足時(shí),才會(huì)回收他們。
Java中每個(gè)對象都擁有一個(gè)finalize()方法:
protected void finalize()throws Throwable{}
垃圾回收器在回收對象時(shí)自動(dòng)調(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. |
相關(guān)文章
Java Metrics系統(tǒng)性能監(jiān)控工具的使用詳解
Metrics是一個(gè)Java庫,可以對系統(tǒng)進(jìn)行監(jiān)控,統(tǒng)計(jì)一些系統(tǒng)的性能指標(biāo)。本文就來和大家詳細(xì)聊聊這個(gè)工具的具體使用,希望對大家有所幫助2022-11-11關(guān)于Java中的dozer對象轉(zhuǎn)換問題
Dozer是Java?Bean到Java?Bean映射器,它以遞歸方式將數(shù)據(jù)從一個(gè)對象復(fù)制到另一個(gè)對象,這篇文章主要介紹了Java中的dozer對象轉(zhuǎn)換的操作方法,需要的朋友可以參考下2022-08-08java Beanutils.copyProperties( )用法詳解
這篇文章主要介紹了java Beanutils.copyProperties( )用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Java實(shí)現(xiàn)簡單班級管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單班級管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02