zoukankan      html  css  js  c++  java
  • EffectiveJava(7)避免使用终结方法

    避免使用终结方法

    1.使用终结方法会导致行为不稳定,性能降低,以及可移植性的问题.(终结线程的优先级过低)
    终结方法不能保证被及时的执行(从一个对象变得不可到达开始,到中介方法被执行,所花费的时间是任意长的)

    2.怎么不编写终结方法:提供一个显式的终止方法,并要求该类的客户端在每个实例不再有用的时候调用这个方法(该实例必须记录下自己是否已经被终止)
    终止方法与try - finally一起使用 在finally子句中可以保证即使在使用对象的时候有异常抛出,该终止方法也会被执行
    终止方法:FileInputStream FileOutputStream Timer Connection 当上述类中终止方法未被调用,则调用终结方法
    3.什么时候使用终结方法
    -当对象所有者忘记调用显式终止方法时,终结方法可以充当安全网
    -如果本地对等体不拥有关键的资源,使用终结方法

    本地对等体:普通对象通过本地方法委托给一个本地对象.
    终结方法守卫者:不吧终结方法放在要求终结处理的类中,而把终结方法放在一个匿名的类中,该匿名类的唯一用途就是终结他的外围实例

  • 相关阅读:
    约瑟夫环公式解
    闭区间筛素数个数
    欧拉函数
    负进制转换
    2018黑龙江省赛总结
    基础博弈——威佐夫与尼姆不得不说的那些事
    极角排序
    int型素数拆分
    快速幂与费马小定理与组合数
    A*搜索算法
  • 原文地址:https://www.cnblogs.com/qwop/p/6637306.html
Copyright © 2011-2022 走看看