都知道,所有被打开的系统资源,比如流、文件或者Socket连接等,都需要开发者手动关闭,否则随着程序的不断运行,资源泄露将会累积成重大的生产事故。
1. 2.先来说说try-catch-finally:
try-catch-finally结构是Java提供来处理异常的,finally中执行关闭资源的方法。它的语法结构如下:
try{
//代码执行区域
}catch(Exception e){
//异常处理区域
}finally{
//无论如何都会执行的代码区域
}
注意:不管try和catch中做了什么处理,finally中无论如何都是会执行。
2. 然后说说try-with-resource:
try-with-resource是JDK1.7引入的一个新的异常处理机制,它能够很容易地关闭在 try-catch 语句块中使用的资源。try-with-resources 语句确保了每个资源在语句结束时关闭。所有实现了 java.lang.AutoCloseable 接口(其中,它包括实现了 java.io.Closeable 的所有对象)的类,可以使用作为资源。
关闭多个资源举例(一个和多个类似):
public class Exception {
public static void main(String[] args) {
try(Some some = new Some();Other other = new Other()) {
some.doSo