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

目录
相关文章
|
7月前
|
XML Java 数据库连接
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
|
消息中间件 调度
RabbitMQ如何保证消费的顺序性
RabbitMQ如何保证消费的顺序性
4316 0
|
SQL 关系型数据库 MySQL
一路走到ORM框架都经历了什么(下)
一路走到ORM框架都经历了什么
71 1
|
Ubuntu NoSQL Linux
查看linux操作系统版本:Ubuntu?Centos?还是其他?
查看linux操作系统版本:Ubuntu?Centos?还是其他?
21749 2
查看linux操作系统版本:Ubuntu?Centos?还是其他?
|
缓存 Java 数据库连接
Spring Data Jpa 缓存
JPA仅仅只是一个规范,而不是产品;使用JPA本身是不能做到持久化的。所以,JPA只是一系列定义好的持久化操作的接口,在系统中使用时,需要真正的实现者,在这里,我们使用Hibernate作为实现者。
3978 0
|
程序员 数据库 关系型数据库
理解事务的4种隔离级别
数据库事务的隔离级别有4种,由低到高分别为`Read uncommitted 、Read committed 、Repeatable read 、Serializable `。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。本文将通过事例一一阐述它们的概念与联系。
10458 3
|
Oracle Java 关系型数据库
理解JPA注解@GeneratedValue
一、JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.
5278 0
|
C语言 算法
|
JavaScript 前端开发 UED
JavaScript入门(一)
本书主要讲述JavaScript脚本语言以及如何在实际开发中使用它。在读完本书之后,你就能够: l        理解JavaScript的语法和结构。
653 0
|
1天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践