當前位置:才華齋>計算機>java語言>

關於Java中物件的銷燬方法分析

java語言 閱讀(5.63K)

本文較為詳細的分析了Java中物件的銷燬方法。分享給大家供大家參考。具體分析如下:

關於Java中物件的銷燬方法分析

Java中的基本資料型別變數和物件的名稱引用變數如定義在方法中,都為區域性變數。但物件本身不一定是區域性生命週期。如函式外存在其他對該物件的引用變數,則該物件的生命週期延伸至該其他引用變數所在的塊。

如從被呼叫函式引數引用傳值或返回值到主呼叫函式所在的物件型別變數中,則該物件都仍存在(但被呼叫函式的.該物件的引用變數生命週期結束,因此引用變數是區域性變數),此時物件突破了局部變數的區域性生命期。

  Java物件銷燬

Java中垃圾收集器自動地定期掃描Java物件的動態記憶體,並將所有的引用物件加上標記,在物件執行結束後(無引用變數對該物件進行關聯),清除其標記,並將所有無標記的物件作為垃圾進行回收,釋放垃圾物件所佔的記憶體空間。

物件執行結束後或生命週期結束時,將成為垃圾物件,但並不意味著就立即會被回收,僅當垃圾收集器空閒或記憶體不足時,才會回收他們。

  Java中每個物件都擁有一個finalize()方法:

protected void finalize()throws Throwable{}

垃圾回收器在回收物件時自動呼叫物件的finalize()方法來釋放系統資源。

  finalize()函式原型:

protected void finalize() Called by the garbage collector on an object when garbage

collection determines that there are no more references to

the object. 希望本文所述對大家的java程式設計有所幫助。