内容简介:时间紧迫,长话短说,今天,小明给大家同步一个知识点,使用其实,在JDK 7就已经引入了对如何才能使用这个自动关闭资源的骚操作呢?我们只需要在try内声明和初始化资源即可,如下所示:
时间紧迫,长话短说,今天,小明给大家同步一个知识点,使用 try-with-resources 来优雅地关闭资源。
1. 背景
其实,在JDK 7就已经引入了对 try-with-resources 的支持,它的主要作用就是解放小明和小明小伙伴们的双手,帮助我们自动释放使用过的资源(比如输入、输出流)。
2. 例子
如何才能使用这个自动关闭资源的骚操作呢?我们只需要在try内声明和初始化资源即可,如下所示:
这样,当我们写入文件时,只需要将心思放在输入的内容就行啦。
3.使用try-with-resources的好处
在很久很久以前,你是不是和小明一样每每操作输入流、输出流的时候,用的都是 try-catch-finally 代码块?
现在,答应我好嘛,作为小明的小伙伴,看完这篇文章后,再写代码时,不要再将就,务必使用 try-with-resources 会更小明(优雅)一些。
接下来,我们简单地做个比较:
之前的小明
点评
整体感觉很传统,很冗长。
现在的小明
点评
整体感觉很轻巧,很优雅。
4. 还可以控制多个资源哦
如果我们想一边控制输入、一边控制输出怎么办?
通通放进去!如图所示
5.幕后功臣:Closeable
为什么把资源放进 try-with-resources ,我们就可以束手旁观,高枕无忧呢?原来,要想合法进去 try-with-resources ,不被报警,是需要门票的:实现 Closeable 或 AutoCloseable 接口,并重写 close 方法。就像这样:
6.多个资源的情况下如何顺序关闭呢?
剧透:先创建的资源,最后关闭。
这个故事是这样讲的:小明和小红一起打王者荣耀……
小明:
小红:
全军出击:
故事纵览:
提问:结局是不是和剧透一致?
7. 补充
我们使用 try-with-resources 的时候不仅可以优雅地释放资源,而且还可以传统一些,照常使用 catch 和 finally 哦。
8. 总结
经过小明这么一番生动的讲解:
你是否知道了什么是 try-with-resources ?
你是否知道了如何用 try-with-resources 替换 try-catch-finally ?
你是否知道了 AutoCloseable 构建自定义资源以及关闭资源的顺序?
附Github源码地址: https://github.com/WhenCoding/coder-xiaoming
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 漫画:如何证明sleep不释放锁,而wait释放锁?
- golang内存释放
- 【缺陷周话】第13期:二次释放
- Rietspoof恶意软件释放多个恶意有效载荷
- CocosCreator 引擎资源加载与释放原理简析
- 魔法书1:利用底层代码释放Arduino空间
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
零基础学Minecraft编程
Martin O''Hanlon、David Whale / 中文Minecraft Wiki翻译团队 / 人民邮电出版社 / 2015-9-7 / 79
在你体验Minecraft冒险的同时,学习宝贵的编程技能! 如果你很喜欢玩Minecraft,却被游戏中的建造耗费大量时间而困扰,并且你想要对游戏添加一些改动,那么本书就是为你而设计的。在游戏中,你可以学习许多Python编程技能,在PC、Mac或树莓派上与游戏进行互动。这些冒险不仅局限在虚拟世界——你也将会学习如何将Minecraft与电子元件连接起来,这样你的Minecraft世界就能够......一起来看看 《零基础学Minecraft编程》 这本书的介绍吧!