第7条:避免使用终结方法

一、终结方法(finalizer)通常是不可预测的,也是很危险的,一般情况下是不必要的 —— 会导致行为不稳定、降低性能,以及可移植性问题。

二、当一个对象变得不可达的时候,一般用try-finally块来完成类似的工作。

三、终结方法的缺点在于不能保证会被及时地执行。——从一个对象变得不可到达开始,到它的终结方法被执行,所花费的这段时间是任意长的。

四、不应该依赖终结方法来更新重要的持久状态。——例如,依赖终结方法来释放共享资源(比如数据库)上的永久锁,很容易让整个分布式系统垮掉。

五、使用终结方法会严重的性能损失。

六、显示终止方法模式的示例中所示的四个类(FileInputStream、FileOutputStream、Timer和Connection),都具有终结方法,当它们的终结方法未能被调用的情况下,这些终结方法充当了安全网。

七、终结方法另一个合理用途与对象的本地对等体有关。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值