AutoCloseable

从AutoCloseable的注释可知它的出现是为了更好的管理资源,准确说是资源的释放,当一个资源类实现了该接口close方法,在使用try-catch-resources语法创建的资源抛出异常后,JVM会自动调用close 方法进行资源释放,当没有抛出异常正常退出try-block时候也会调用close方法。像数据库链接类Connection,io类InputStream或OutputStream都直接或者间接实现了该接口。

一个可能持有资源(如文件或套接字句柄)的对象直到它关闭。{@code AutoCloseable} t对象的{@link #close()}方法在退出{code时被自动调用在Try}-with-resources块中声明了对象*资源规范头。这种构造确保了提示释放,避免了资源耗尽的异常和错误*可能发生其他情况@apiNote这是可能的,实际上是常见的,为一个基类实现AutoCLoseable,即使不是所有的子类或*实例将保存可释放的资源。用于必须运行的代码在完全通用的情况下,或者当知道facode Autocloseable}实例需要释放资源时,建议使用{@code*尝试}与资源建设。

基类有可能,实际上也是常见的*实现自动关闭,即使不是所有的子类或*实例将保存可释放的资源。用于必须运行的代码或者当已知{@code Autocloseable} *实例需要释放资源时,建议使用{code . **尝试}与资源建设。但是,当使用诸如t {@link java.util.stream。Stream}支持基于I/0和*非基于1/0的形式,{@code try}-with-resources块*使用非i /0形式时一般不必要

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容