java try()自动释放_Java通过try释放资源的方法

时间紧迫,长话短说,今天,小明给大家同步一个知识点,使用try-with-resources来优雅地关闭资源。

1. 背景

其实,在JDK 7就已经引入了对try-with-resources的支持,它的主要作用就是解放小明和小明小伙伴们的双手,帮助我们自动释放使用过的资源(比如输入、输出流)。

2. 例子

如何才能使用这个自动关闭资源的骚操作呢?我们只需要在try内声明和初始化资源即可,如下所示:

77cd3066412255cdf075795409152ed0.png

这样,当我们写入文件时,只需要将心思放在输入的内容就行啦。

3.使用try-with-resources的好处

在很久很久以前,你是不是和小明一样每每操作输入流、输出流的时候,用的都是try-catch-finally代码块?

现在,答应我好嘛,作为小明的小伙伴,看完这篇文章后,再写代码时,不要再将就,务必使用try-with-resources会更小明(优雅)一些。

接下来,我们简单地做个比较:

之前的小明

5c9673099cfd7d6ac42d0b5c26c20c35.png

点评

整体感觉很传统,很冗长。

现在的小明

e31ca75ad0073985afb5fcc0bb433597.png

点评

整体感觉很轻巧,很优雅。

4. 还可以控制多个资源哦

如果我们想一边控制输入、一边控制输出怎么办?

通通放进去!如图所示

43d6ef134f05897e025d4b5fc138c261.png

5.幕后功臣:Closeable

为什么把资源放进try-with-resources,我们就可以束手旁观,高枕无忧呢?原来,要想合法进去try-with-resources,不被报警,是需要门票的:实现Closeable或AutoCloseable接口,并重写close方法。就像这样:

621c7193e094ac4200e43ecd0e78f38c.png

6.多个资源的情况下如何顺序关闭呢?

剧透:先创建的资源,最后关闭。

这个故事是这样讲的:小明和小红一起打王者荣耀……

小明:

26d529ef147b50b283a1f3df28bc40ff.png

小红:

c1c2dd75b23505f4f27ce06ef4a65e4b.png

全军出击:

a7b934c46da9c9f6b6715565ba21b5b0.png

故事纵览:

6ef380d7b5d86a1d5a7810c766db9ba6.png

提问:结局是不是和剧透一致?

7. 补充

我们使用try-with-resources的时候不仅可以优雅地释放资源,而且还可以传统一些,照常使用catch和finally哦。

8. 总结

经过小明这么一番生动的讲解:

你是否知道了什么是try-with-resources?

你是否知道了如何用try-with-resources替换try-catch-finally?

你是否知道了AutoCloseable构建自定义资源以及关闭资源的顺序?

到此这篇关于Java通过try释放资源的方法的文章就介绍到这了,更多相关java try释放资源内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值