当前位置 博文首页 > 科技D人生:Java基础学习总结(136)——有关流资源关闭(try-wi

    科技D人生:Java基础学习总结(136)——有关流资源关闭(try-wi

    作者:[db:作者] 时间:2021-07-13 19:10

    前言

    做Java开发的都知道,每个资源的打开都需要对应的关闭操作,不然就会使资源一直占用而造成资源浪费,从而降低系统性能。关于资源的关闭操作,从JDK7-JDK9有了不少的提升及简化。我们来看看资源处理的变化。

    一、JDK6

    在JDK6及之前,每个资源都需要我们手动写代码关闭,如:

    FileInputStream fis = null;
    byte[] buffer = new byte[1024];
    try {
        fis = new FileInputStream(new File("E:\Java文件.txt")); 
        while (fis.read(buffer) > 0) {
            System.out.println(new String(buffer)); 
        }
    } catch(Exception e) {
        e.printStackTrace();
    }finally{ 
        if(fis != null) { 
        try {
            fis.close(); 
        } catch (IOException e) {
            e.printStackTrace(); 
        } 
    }

    资源打开使用完后,必须在finally块中进行手动关闭!尤其是数据库的连接对象Connection。我们有的同事,做一个查询功能点,打开了连接查询完后没有手动关闭,最后造成连接池超出最大连接数而使系统功能堵塞。

    二、JDK7

    JDK7发布后,添加了新特性:try-with-resources语句。所有需要关闭的资源只要实现了 java.lang.AutoCloseable(java.io

    cs
    下一篇:没有了