关于对象回收的方法 public void finalize()

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 03:22   23   0

总的来说注意以下两个关键点:

  当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

  对于任何给定对象,Java 虚拟机最多只调用一次 finalize 方法。


直接上个例子:

public class T2 {

public static void main(String[] args) {
T2 t2 = new T2();
t2 = null;
}

public void finalize(){
System.out.println("T2:finalize()");
}
}

这段代码执行后,最可能没有任何输出。


public class T2 {

public static void main(String[] args) {
T2 t2 = new T2();
t2 = null;
System.gc();
}

public void finalize(){
System.out.println("T2:finalize()");
}
}


这段代码最可能输出:T2:finalize(), 原因是finalize由垃圾回收器调用此方法

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP