`

Java7 AutoCloseable入门实例

阅读更多

本文转自: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!

 

 

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!

 

分享到:
评论

相关推荐

    java入门实例 java入门实例

    【Java 入门实例:classpath 和 package 详解】 学习Java对于初学者来说,尤其是在尝试编译和运行简单程序时,可能会遇到很多困扰。错误信息往往令人困惑,导致一些初学者失去学习信心。实际上,很多问题源于对...

    java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java

    java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象...

    220个JAVA初学者实例

    以上只是Java初学者实例中可能涉及的部分关键知识点,通过220个实例的实践,你可以逐步建立起扎实的Java基础,为后续深入学习和项目开发打下坚实的基础。不断地练习和巩固这些知识,将有助于你成长为一名合格的Java...

    java源码 java ee基础入门实例 2018127

    本教程基于2018年的版本,旨在帮助初学者入门Java EE的基础知识,通过实例学习来加深理解。 1. **Java源码**: Java源码是程序设计的基础,它是由程序员编写的用Java语言书写的代码。在Java EE环境中,源码通常...

    java rest api入门实例

    REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,...

    Java 2 入门与实例教程

    Java 2 入门与实例教程是一本专为初学者设计的编程教材,主要涵盖了Java 2平台的基础知识和实际应用。PDG格式通常用于电子书籍,提供了方便的阅读体验。通过这本书,读者将深入理解Java语言的核心概念,并通过丰富的...

    Java入门实例源代码_1

    "Java入门实例源代码_1"这个压缩包提供了一系列的Java编程实例,覆盖了初学者需要掌握的基础知识。下面,我们将逐一解析这些实例所涉及到的关键知识点。 1. **实例1**:通常,实例1会涵盖Java程序的基本结构,包括`...

    java入门与实例

    "Java入门与实例"针对的是对编程感兴趣的初学者,它提供了通俗易懂的讲解和实践案例,帮助初学者快速掌握Java编程基础。 Java的基础知识点包括: 1. **环境搭建**:首先,学习Java需要安装Java Development Kit ...

    从入门到精通 java编程经典实例

    【标题】"从入门到精通 Java编程经典实例"是一本旨在帮助编程初学者及有一定面向对象编程基础的爱好者深入理解Java语言的书籍。通过一系列的经典实例,本书旨在以直观、易懂的方式引领读者掌握Java的核心概念和技术...

    java入门实例

    "Java入门实例"旨在帮助新手快速理解并实践Java编程。 1. **环境搭建**: 在学习Java前,你需要先安装Java Development Kit (JDK),它包含了编译Java程序所需的工具。设置好环境变量`JAVA_HOME`,`PATH`和`...

    Java SE编程入门教程 java instanceof(共3页).pptx

    Java SE编程入门教程 java入门以及变量debug(共63页).pptx Java SE编程入门教程 java设计模式(共17页).pptx Java SE编程入门教程 java数组(共33页).pptx Java SE编程入门教程 java网络编程(共29页).pptx ...

    JAVA编程实例入门

    Java编程实例入门是针对初学者的一本优秀教材,它涵盖了JAVA语言的基础知识,包括如何创建、编译和运行简单的JAVA程序。以下将详细介绍这些基础知识。 首先,基础的JAVA实例从"Hello World!"程序开始。在Java中,每...

    Java入门到精髓实例版PPT

    这份"Java入门到精髓实例版PPT"涵盖了从基础到高级的Java编程知识,旨在帮助初学者快速掌握Java的核心概念和实战技巧。 第1章通常会介绍Java的历史和特点,包括其与C++的区别,以及为何选择Java作为编程语言。Java...

    React 入门实例教程

    React 入门实例教程React 入门实例教程React 入门实例教程React 入门实例教程

    java源码包实例源码JAVA开发源码55个合集.zip

    java源码包J实例源码JAVA开发源码55个合集: Java中的Blowfish对称密钥加密算法类和实例.rar Java中的EJB编程实例代码.rar Java中的SSL及HTTPS协议实例源码.rar Java写的ATM机取款模拟程序.zip Java写的一个mp3播放器...

    Java入门书籍实例源码(完整版)

    【Java入门书籍实例源码(完整版)】这个资源是一个非常适合初学者的编程学习材料,主要涵盖了Java语言的基础知识和实战应用。这份源码集合旨在帮助新手程序员逐步掌握Java编程,通过实例化的方式深入理解编程概念,...

    Java2入门与实例教程

    Java2入门与实例教程是一本面向初学者的编程教材,主要涵盖了Java语言的基础知识和实践应用。这本书旨在帮助读者从零开始,逐步掌握Java编程的基本概念、语法和编程技巧。以下将详细介绍书中可能包含的一些核心知识...

    java2从入门即实例教程

    Java 2 从入门即实例教程是一套专为初学者设计的编程学习资源,它以Java语言为核心,通过丰富的实例帮助读者快速理解并掌握Java编程基础。本教程旨在引导学习者从零开始,逐步深入到Java的世界,为后续的进阶学习...

Global site tag (gtag.js) - Google Analytics