2021-04-18 10:56  阅读(107)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-class-instance.html

Java面向对象设计 - Java Object.Finalize方法

Java提供了一种在对象即将被销毁时执行资源释放的方法。

在Java中,我们创建对象,但是我们不能销毁对象。

JVM运行一个称为垃圾收集器的低优先级特殊任务来销毁不再引用的所有对象。

垃圾回收器给我们一个机会,在对象被销毁之前执行清理代码。

Object类有一个finalize()方法,声明如下:

    protected void  finalize() throws   Throwable  {  }
    

Object类中的finalize()方法不会做任何事情。

你需要覆盖你的类中的方法。

您的类的finalize()方法将在您的类的对象销毁之前由垃圾回收器调用。

例子

以下代码显示了如何创建一个Finalize类覆盖对象类的finalize()方法。

    class Finalize {
      private int x;
    
      public Finalize(int x) {
        this.x = x;
      }
    
      public void finalize() {
        System.out.println("Finalizing " + this.x);
    
      }
    }
    
    public class Main {
      public static void main(String[] args) {
        for (int i = 0; i < 20000; i++) {
          new Finalize(i);
        }
      }
    }
    

上面的代码生成以下结果。

2021041810514_1.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java Object.Finalize方法
上一篇
Java Object.Clone方法
下一篇
Java Immutable(不可变)对象