提示八-九

2022-05-13  本文已影响0人  飞絮搅青冥

今天看第八条和第九条:

第8条:避免使用终结方法和清理器。

对于这一条,我感触其实不深,因为平时写代码几乎不会用到这两种机制,看了下我们项目中好像确实也没有人使用过,所以就简单摘录一下作者的观点,学习一波。

第九条:优先使用try-with-resources而不是try-finally。

try-with-resources最初是在Java 7中引入的,其背后的全部想法是,开发人员无需担心仅在一个try-catch-finally块中使用的资源的资源管理。这是通过消除对finally块的需要而实现的,实际上,开发人员仅在关闭资源时才使用块。并且代码通常更清晰易读,因此使代码更易于管理,尤其是当我们处理许多try块时。

在try语句之后在括号中打开的资源仅在此处和现在需要。.close()在try块中完成工作后,我将立即调用它们的方法。如果在try块中抛出异常,无论如何我都会关闭这些资源。

从Java 9开始,没有必要在try-with-resources语句中声明资源。但是我们系统使用的还是Java 8,所以还用不了这个新特性,不过我们系统中try-finally已经被广泛运用,不管是需要资源还是做一些可能会存在问题的操作时都有这样用到,我以前也写了好多这样的方法,导致有时候出现错误时并不能从堆栈中找到有用的报错信息,这一点真的一度非常困扰我。以后可以尝试多使用try-with-resources的方式来编写代码。

上一篇 下一篇

猜你喜欢

热点阅读