finalize()方法和System.gc()方法的功能
阿新 • • 發佈:2019-02-16
package trkj; //此類說明了 finalize 關鍵字以及 System.gc() 的作用 /* finalize 類似 c++中解構函式,表示物件即將消亡時,呼叫此方法 gc() 方法表示把拉級回收器啟動,把拉圾收走 */ public class Person { private String name; private int age; public Person() { } public Person(String name) { this.name = name; } public Person(String name, int age) { this(name); this.age = age; } // 每個類裡面都有finalize方法,和構造方法功能相反,一個是物件產生時呼叫,一個是物件消亡時呼叫 public void finalize() { System.out.println("開始清理物件..."); } public static void main(String[] args) { // 下面三個物件一產生即成為拉圾 new Person(); new Person(); new Person(); /*new Person().finalize(); Person person = new Person(); person.finalize();*/ // 如果不加上下面這句,以上產生的三個物件雖成為拉圾,但不一定馬上就會啟用拉圾回收機制把拉圾回收走 // 所以就可能看不到 finalize 方法內部執行的效果 System.gc(); } }