Java 中finalize()方法起什么作用呢?
Java之finalize()方法功能说明
当我们在一个类中定义了finalize()方法时, 如果一个对象被垃圾收集器析构(回收)之前,则finalize()方法会被调用运行finalize()方法的功能:用于清除回收对象 当然如果我们不采用finalize()方法回收一些对象的话,JVM也会在一段时间后回收相应的对象
Java之finalize()方法常见的应用场景
如: 在finalize()方法中定义一个事件, 用于确保对象释放时, 该关闭的对象是否关闭(如:数据库连接,文件句柄)
Java之finalize()方法代码样式
protected void finalize() { //代码块 如:释放**** } protected:用于确保finalize()方法不会类以外的代码调用运行
Java之finalize()方法 示例分享
testMain.java 文件代码: public class testMain{ public static void main(String[] args) { InfoTest c1 = new InfoTest(1); InfoTest c2 = new InfoTest(2); InfoTest c3 = new InfoTest(3); c2 = c3 = null; System.gc(); //调用Java垃圾收集器,会自动运行finalize方法 } } class InfoTest extends Object { private int id; public InfoTest(int id) { this.id = id; System.out.println("InfoTest Object " + id + "创建"); } protected void finalize() throws java.lang.Throwable { super.finalize(); System.out.println("InfoTest Object " + id + " 释放"); } } ---运行以上代码,将输出以下信息---- $ javac testMain.java $ java testMain InfoTest Object 1 创建 InfoTest Object 2 创建 InfoTest Object 3 创建 InfoTest Object 3 释放 InfoTest Object 2 释放t
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。