zoukankan      html  css  js  c++  java
  • Java IO流中先关闭输出流还是先关闭输入流?为什么?

    java中需要手动释放的资源bai常见的有以下两个:

    流相du关资zhi源

    流相关资源一般遵循:

    1)先开后关dao,先开的输入流,再开的输出流,通过读取输入流写入输出流中,那么应该先关输出流,再关输入流,但是一般关闭输入输出流操作都是在读写完成后的finally中执行的,所以即使先关输入流,再关输出流也不会任何问题,因为读写操作没有进行了。
    2)先关外层,再关内层。如BufferedInputStream包装了一个FileInputStream,那么先

    关BufferedInputStream,再关FileInputStream。但要注意的是由于一般处理流持有节点流引用,处理流都会在自己的close方法中去关闭节点流,因此我们只要关闭外层的处理流即可,如果多此一举的关闭节点流反而会报错。如BufferedInputStream包装了FileInputStream,我们只要关闭BufferedInputStream即可

    3)只关处理流,不关节点流,原因见上述第二条

    流相关文章参考:http://blog.csdn.net/u012250875/article/details/78341874

    jdbc相关资源

    Connection,PrepareStatement,ResultSet三个资源。这三个资源的获取顺序是:

    先获得一个jdbc连接对象Connection,再通过连接对象获得一个sql预处理对象PrepareStatement,如果是查询的话最后还会通过PrepareStatement对象获取一个结果集ResultSet对象,关闭顺序与获取顺序正好相反。先关ResultSet,再关PrepareStatement,最后关Connection。

  • 相关阅读:
    查找表类算法//字母异位词分组
    查找表类算法//四数相加 II
    查找表类算法//四数相加 II
    第六章 类文件结构
    第六章 类文件结构
    查找表的算法//四数之和
    查找表的算法//四数之和
    第五章 调优案例分析与实战
    第五章 调优案例分析与实战
    C++_基础4-分支语句和逻辑运算符
  • 原文地址:https://www.cnblogs.com/it-deepinmind/p/13168818.html
Copyright © 2011-2022 走看看