finalize方法 基础代码演示 基础 1、在Object类中的源代码: protected void finalize() throws Throwable{} 2、finalize()方法只有一个方法体,里面没有代码,而且这个方法是protected修饰的 3、这个方法不需要程序员手动调用,JVM的垃圾回收器负责调用这个方法。 4、finalize()方法的执行时机 当一个java对象即将被垃圾回收器回收的时候,垃圾回收器负责调用finalize()方法 5、finalize()方法实际上是SUN公司为java程序员准备的一个时机,垃圾销毁时机。 如果希望在对象销毁时机执行一段代码的话,这段代码要写到finalize()方法中。 6、如同静态代码块在类加载时刻执行,并且只执行一次,这是一个SUN准备的类加载时机。 finalize()方法同样也是SUN为程序员准备的一个时机。这个时机是垃圾回收时机。 代码演示 public class Test{ public static void main(String[] args){ //创建对象 Person p = new Personm(); //把Person对象编程垃圾? p = null; //但是此时垃圾回收期不一定会启动 //因为垃圾数目太少 //可能需要for循环重复多次才可以 System.gc; //建议启动垃圾回收器,只是建议可能不启动 //但提高了垃圾回收器启动的概率 } } class Person{ //重写finalize()方法 protected void finalize() throws Throwable{ System.out.Println(this +"即将被销毁!"); } }