本文转自:http://www.xiaoyaochong.net/wordpress/?p=330
AutoCloseable接口,表示一种不再使用时需要关闭的资源。这个接口下只有一个方法,close()。这个方法在try-with-resource语法下会被自动调用,支持抛出Exception,当然它也鼓励抛出更详细的异常。close()建议不要抛出线程中断的InterruptedException。对这个接口的实现,规范强烈建议close()是幂等的,也就是说多次调用close()方法和一次调用的结果是一样的。
AutoCloseable的简单实现:
public class MyResource implements AutoCloseable { @Override public void close() throws Exception { System.out.println("Close resource!"); } public void readResource() { System.out.println("Read resource!"); } }
try-resource单元测试:
@Test public void testCloseResource() throws Exception { try(MyResource autoCloseable = new MyResource()) { autoCloseable.readResource(); } }
输出结果:
Read resource!
Close resource!
Close resource!
try-resource-finally单元测试:
@Test public void testCloseResource2() throws Exception { try(MyResource autoCloseable = new MyResource()) { autoCloseable.readResource(); } finally { System.out.println("Executor finally!"); } }
输出结果:
Read resource!
Close resource!
Executor finally!
Close resource!
Executor finally!
相关推荐
java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象...
Java 2 入门与实例教程pdf,
Java实例教程,入门教程(代码)Java实例教程,入门教程(代码)Java实例教程,入门教程(代码)Java实例教程,入门教程(代码)Java实例教程,入门教程(代码)Java实例教程,入门教程(代码)Java实例教程,入门...
"JAVA教程,java 2 入门与实例教程,高手入门到精通"这个主题覆盖了从基础到高级的完整Java学习路径,特别适合对Java 2平台感兴趣的学习者。Java 2,也称为Java SE(标准版),是Java平台的核心版本,包含了开发和运行...
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,...
Java 2 入门与实例教程是一本专为初学者设计的编程教材,主要涵盖了Java 2平台的基础知识和实际应用。PDG格式通常用于电子书籍,提供了方便的阅读体验。通过这本书,读者将深入理解Java语言的核心概念,并通过丰富的...
"Java入门实例源代码_1"这个压缩包提供了一系列的Java编程实例,覆盖了初学者需要掌握的基础知识。下面,我们将逐一解析这些实例所涉及到的关键知识点。 1. **实例1**:通常,实例1会涵盖Java程序的基本结构,包括`...
本实例参考网上代码:http://www.ibm.com/developerworks/cn/java/j-javadev2-24/ 通过Jest和Junit单元测试的方法创建索引和检索 第一步:启动一个elasticsearch服务,bin目录下的elasticsearch.bat 第二步:建索引,...
在这个入门实例总结中,我们将深入探讨Java中的两种主要通信协议:UDP(用户数据报协议)和TCP(传输控制协议),并借助源码示例理解其工作原理。 首先,让我们来看看UDP通信。UDP是一种无连接的、不可靠的传输协议...
Java Flex入门实例主要涉及到的是Java和Adobe Flex的集成开发,这是一种常见的富互联网应用程序(Rich Internet Application,RIA)开发模式。Flex是基于ActionScript和Flash Player技术的开发框架,用于构建具有...
"Java入门与实例"针对的是对编程感兴趣的初学者,它提供了通俗易懂的讲解和实践案例,帮助初学者快速掌握Java编程基础。 Java的基础知识点包括: 1. **环境搭建**:首先,学习Java需要安装Java Development Kit ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
MATLAB Builder For Java入门实例讲解
"Java入门实例"旨在帮助新手快速理解并实践Java编程。 1. **环境搭建**: 在学习Java前,你需要先安装Java Development Kit (JDK),它包含了编译Java程序所需的工具。设置好环境变量`JAVA_HOME`,`PATH`和`...
Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...
7. **渲染(Rendering)**:JAVA3D提供了多种渲染模式,如颜色、纹理、深度测试等,以控制3D图像的绘制方式。 8. **用户交互(User Interaction)**:可以添加鼠标和键盘监听器,使用户能够与3D场景互动,如旋转、...
Java编程实例入门是针对初学者的一本优秀教材,它涵盖了JAVA语言的基础知识,包括如何创建、编译和运行简单的JAVA程序。以下将详细介绍这些基础知识。 首先,基础的JAVA实例从"Hello World!"程序开始。在Java中,每...
本教程“Java入门与实例教程”是专为初学者设计的,旨在帮助他们快速掌握Java编程的基础知识并能动手实践。 首先,Java入门部分将介绍基本概念,包括Java的发展历程、特点以及如何安装和配置Java开发环境,如JDK...