Java之finalize()方法

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 +"即将被销毁!");
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值