zoukankan      html  css  js  c++  java
  • 第七条:避免使用终结方法

    终结方法通常是不可预测的,也是很危险的,一般情况下是不必要的。

    如果我们为一个类重写写了Object类的终结方法,那么这个类的实例在被垃圾回收器回收之前会先执行终结方法,

    在终结方法中,这个实例对象有可能会被重写引用,也可以用来释放一些资源文件等等,从而不被回收或者对象的善后工作。

    终结方法的缺点在与不能保证会被及时的执行。当一个实例对象变得不可达,到这个实例的终结方法被执行,这之间

    的时间是任意长的。甚至Java语言规范不仅不能保证对象的终结方法被及时的执行,而且根本不能保证它们会被执行。

    为了不使用终结方法,但是在对象回收之前,又释放对象中封装的资源(例如文件或者线程)。我们只需要提供一个显示的终结

    方法,并要求客户端代码在对象不再有用的时候,调用显示的终结方法。

    显示终止方法的典型例子就是InputStream ,OutputStream 和java.sql.Connection类中的close()方法。

    显示的终止方法通常与try-finally结构结合起来使用,以确保及时终止。

  • 相关阅读:
    U盘文件被隐藏的解决办法
    Regex 符号说明
    HTML特殊字符编码对照表
    Regex 常用
    String decryption with de4dot
    使用Topshelf创建Windows服务[转载]
    de4dot Deobfuscator for .NET
    [原创]extjs htmleditor增加截图快速粘贴功能 插件
    de4dot FAQ
    Cache缓存
  • 原文地址:https://www.cnblogs.com/wangliyue/p/4441607.html
Copyright © 2011-2022 走看看