對象析構和finalize方法

    Java能自動的進行垃圾收集,可以將finalize方法添加到任何類中,finalize方法會在垃圾收集器清除對象之前被調用。但是實際的操作中,不要依賴finalize方法回收任何短缺資源,因爲很難知道這個方法什麼時候才能被調用。
    有個叫作System.runFinalizersOnExit(true)的方法可以確保finalize方法在Java關閉之前被調用。不過這個方法並不安全。另一種替代的方法是使用Runtime.addShutdownHook的方法增加“關閉鉤子”。
    如果需要在資源使用完畢後關閉資源,那就需要進行手工的管理,對需要清除的資源使用dispose方法。重要的是,如果你使用的類含有dispose方法,你需要在對象操作完成後調用這個方法,尤其是,如果類的某個實例字段含有這個dispose方法,要提供一個釋放實例字段的dispose方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章