Closeable

简介: 1.Closeable与AutoCloseable接口 它们在JDK中的定义见下: public interface AutoCloseable {void close() throws Exception;/*since jdk1.7*/}public interface Closeable extends AutoCloseable {public void close() t

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.代码示例

目录
相关文章
|
设计模式 存储 缓存
Java中的抽象类、接口、设计模式、包装类和泛型(附带相关面试题)
一.抽象类(abstract),二.接口(interface),三.设计模式,四.包装类,五.泛型
329 0
|
消息中间件 存储 Java
自顶向下学习 RocketMQ(九):回溯消费
回溯消费是指 Consumer 已经消费成功的消息,由于业务上需求需要重新消费,要支持此功能,Broker 在向 Consumer 投递成功消息后,消息仍然需要保留。并且重新消费一般是按照时间维度,例如由于 Consumer 系统故障,恢复后需要重新消费 1 小时前的数据,那么 Broker 要提供一种机制,可以按照时间维度来回退消费进度。RocketMQ 支持按照时间回溯消费,时间维度精确到毫秒。
自顶向下学习 RocketMQ(九):回溯消费
|
XML Java 数据库连接
MyBatis - 配置多个别名 typeAliasesPackage
MyBatis - 配置多个别名 typeAliasesPackage
1374 0
|
NoSQL Java 网络安全
Redisson官方文档 - 2. 配置方法
Redisson客户端配置方法
31842 0
|
4月前
|
XML Java 数据库连接
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
|
存储 对象存储
【阿里云OSS】You have no right to access this object because of bucket acl.
【阿里云OSS】You have no right to access this object because of bucket acl.
6722 1
【阿里云OSS】You have no right to access this object because of bucket acl.
|
监控 前端开发
服务器发送事件(Server-Sent Events)
服务端向客户端推送消息,其实除了可以用WebSocket这种耳熟能详的机制外,还有一种服务器发送事件(Server-Sent Events),简称 SSE。这是一种服务器端到客户端(浏览器)的单向消息推送。
412 0
|
消息中间件 调度
RabbitMQ如何保证消费的顺序性
RabbitMQ如何保证消费的顺序性
3977 0
|
消息中间件 负载均衡 前端开发
Spring Cloud Stream 体系及原理介绍
Spring Cloud Stream在 Spring Cloud 体系内用于构建高度可扩展的基于事件驱动的微服务,其目的是为了简化消息在 Spring Cloud 应用程序中的开发。
13968 2
Spring Cloud Stream 体系及原理介绍
EMQ
|
消息中间件 监控 Kubernetes
EMQX vs Mosquitto | 2023 MQTT Broker 对比
本文从技术架构、性能、功能、社区情况等维度深入探索2023年的两个流行开源MQTT Broker:EMQX和Mosquitto的异同之处。
EMQ
596 0