第二章 類與對象
l 完成器 :僅僅將完成器用於必要的清除任務,如釋放有對象分配的內存緩衝區,或者關閉網絡連接。
protected void finalize () throws Throwable {
//DO SOMETHING
}
完成器的自動運行和無用單元收集有關。不要依賴無用單元收集來運行完成器,因爲不能保證無用單元收集什麼時候發生。千萬不要直接調用finalize。
l 控制一個應用程序中完成器的使用
類 :java.lang.System
方法 : void runFinalization()
此函數要求JVM運行所有被刪除對象的完成器,僅當執行這些完成器中的代碼對你的應用程序的正確執行而言是絕對有必要的時候你才應該這樣做,因爲此函數會對性能造成消極影響。一般在調用System.gc 之後,使用這個函數。
l 克隆對象
類:java.lang.Obhect
目的:Object類定義了一些在引用類型的所有對象中都可以使用的方法
方法 :Object clone ()
clone進行淺複製,將對象中的基本類型複製,而如果一個對象裏面有引用類型數據成員,則簡單的複製其引用。
使對象可以被克隆:在複製對象的情況下,克隆是否發生取決於是否定義了這個類以實現接口Cloneable。此接口類似於一個開關,當其實現時,則假定該類調用clone是安全的,若沒實現且調用clone,則拋出CloneNotSupportedException(可以用try-catch塊或者將此異常拋出(在函數聲明中聲明拋出異常))。