- 機(jī)構(gòu)級別:普通會員
- 信用等級:
資料認(rèn)證
未通過身份證認(rèn)證
未通過辦學(xué)許可認(rèn)證
- 學(xué)校瀏覽人次:次
- 加盟時(shí)間:2017年03月10日
西安尚學(xué)堂: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í),將成為垃圾對象,但并不意味著就立即會被回收,僅當(dāng)垃圾收集器空閑或內(nèi)存不足時(shí),才會回收他們。
Java中每個(gè)對象都擁有一個(gè)finalize()方法:protected void finalize()throws Throwable{}
垃圾回收器在回收對象時(shí)自動(dòng)調(diào)用對象的finalize()方法來釋放系統(tǒng)資源。