Closeable

来源:互联网 发布:计算机编程前景 编辑:程序博客网 时间:2024/05/18 22:47

1.Closeable与AutoCloseable接口

它们在JDK中的定义见下:
public interface AutoCloseable {void close() throws Exception;/*since jdk1.7*/}public interface Closeable extends AutoCloseable {public void close() throws IOException;/*since jdk1.5*/}

一些会占用操作系统资源的对象(如文件、socket句柄等)都会实现Closeable接口。调用close()方法,jvm就会释放给操作系统。一般来讲,即便不调用,进程结束后操作系统也会回收。但是像运行在tomcat等容器中的web项目代码,项目停了但tomcat没停,会有资源泄露的风险。

2.用法

新增特性适用于带资源的try语句( try-with-resources block )。
形如try(资源类对象的声明){可能有异常抛出的语句块}catch{}。即便没有finally,圆括号中的资源也会按声明的顺序逆序close()。这个由jvm实现。
好处是少写了与业务无关的代码,更精炼。

3.代码示例

2 0
原创粉丝点击