java finalize 何时被调用_finalize方法将被调用多少次?谁调用Java中的finalize()方法?...

的最终化()方法属于对象类。在关闭对象之前,垃圾收集器确保不再有对该对象的引用,并对其进行调用finalize()。

因此,一旦在其中覆盖了finalize()方法,就可以执行所有清理活动,例如关闭数据库连接,网络连接等资源。protected void finalize throws Throwable{}

在程序执行期间仅调用一次。

以下是有关finalize方法的一些值得注意的要点。由于此方法属于Object类,它是java中所有类的超类,因此您可以从任何类中重写它。

这是一个空方法,但是您可以通过编写代码来执行要求清除活动来覆盖它。

建议尝试尝试捕获该finalize()方法中编写的清除代码(关闭连接等)。

允许显式调用finalize()方法。它就像其他方法一样被执行。

finalize()显式调用该方法时,如果垃圾收集器当前正在执行该方法,则将引发未经检查的异常。

以相同的方式,当您finalize()显式调用该方法时,并且在执行过程中,当垃圾收集器尝试调用该方法时,将引发未经检查的异常。

示例public class FinalizeExample{

public void finalize(){

System.out.println("finalize method is executed...");

}

public static void main(String args[]){

FinalizeExample obj = new FinalizeExample();

obj.finalize();

System.gc();

}

}

输出结果finalize method is executed...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值