JAVA全系列 教程
3762个小节阅读:7090.2k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
JAVA中,JVM的垃圾回收机制可以对内部资源实现自动回收,给开发者带来了极大的便利。
但是JVM对外部资源(调用了底层操作系统的资源)的引用却无法自动回收,例如数据库连接,网络连接以及输入输出IO流等。这些连接就需要我们手动去关闭,不然会导致外部资源泄露,连接池溢出以及文件被异常占用等。
JDK7之后,新增了“try-with-resource”。它可以自动关闭实现了AutoClosable
接口的类,实现类需要实现close()
方法。
”try-with-resources “ 将
try-catch-finally
简化为try-catch
,这其实是一种语法糖,在编译时仍然会进行转化为try-catch-finally
语句。
xxxxxxxxxx
package com.bjsxt;
import java.io.FileReader;
public class Test8 {
public static void main(String[ ] args) {
try(FileReader reader = new FileReader("d:/a.txt");) {
char c = (char) reader.read();
char c2 = (char) reader.read();
System.out.println("" + c + c2);
} catch (Exception e) {
e.printStackTrace();
}
}
}
实时效果反馈
1. 如下关于try-with-resource
,说法错误的是:
A try-with-resource
可自动关闭实现了AutoClosable
接口的类,实现类需要实现close()
方法
B try-with-resource
编译后形成的真正代码完全和try-catch-finally
不一样
C 在编译时仍然会将try-with-resource
转化为try-catch-finally
语句
D try-with-resource
是一种语法糖
答案
1=>B