第四十四篇:Java 7新特性:自动化资源管理
来源:互联网 发布:视频会议软件好? 编辑:程序博客网 时间:2024/05/17 03:54
在JAVA7中为我们提供了一些很方便的新特性,如自动资源管理、数字字面量下划线支持、switch中使用string等,今天介绍一下自动资源管理。
Java中某些资源是需要手动关闭的,如InputStream,Writes,Sockets,Sql classes等。自动资源管理允许try语句本身申请更多的资源,这些资源作用于try代码块,并自动关闭。
首先我们来看一下传统的读取文件的方法:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
在操作完成后,我们需要手动调用close()方法,释放资源,在JAVA7中,我们只需要这样写:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
我们将需要自动关闭的资源放在try块中,是不是比传统的方法要简洁呢。到这里,我们不禁要问,这样写真的会释放资源吗?答案是肯定的,我们可以来测试一下,编写一个测试类,实现Closeable
接口即可,
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
运行结果:
- 1
- 2
- 1
- 2
通过运行结果我们可以发现,我们虽然没有调用close()方法,但在try块执行完毕后会自动调用。这里面实现Closeable接口并不是很贴切,应该是实现AutoCloseable
接口的实现类在try块中申请资源后就会自动释放,Closeable本质上也实现了AutoCloseable接口。
阅读全文
0 0
- 第四十四篇:Java 7新特性:自动化资源管理
- Java 7新特性:自动化资源管理
- Java中的自动化资源管理
- Java 7 新特性
- Java 7 新特性
- Java 7 新特性
- Java 7 新特性
- java 7 新特性
- java 7 新特性
- JAVASE课程 第一章 第四讲方法,数组,java新特性
- 第四章:Java新特性对数组的支持
- Java 7 新特性 -- 实战篇
- 第四十五篇:JAVA8 新特性:默认方法
- Java 7的新特性
- Java 7的新特性
- Java SE 7 新特性
- java 7 的新特性
- Java 7 的新特性
- CI对数据库的常用操作
- hdu 1394 Minimum Inversion Number(树状数组逆序数)
- VS+TeeChart控件调试笔记
- 从零开始学C++之模板(三):缺省模板参数(借助标准模板容器实现Stack模板)、成员模板、关键字typename
- Linux+.NetCore+Nginx搭建集群
- 第四十四篇:Java 7新特性:自动化资源管理
- 一个二元二次有理式最值问题
- JavaScript数据类型
- *.exe exited with code 3
- Android音频焦点详解(上)
- Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
- 如何停止/重启/启动redis服务
- Map集合的四种遍历方式
- java设计模式