关闭资源是否始终很重要?
很多时候,我遇到这样的语句,即应用程序应始终显式关闭它打开的所有资源。
我的编程方法相当务实,我不喜欢盲目地遵循任何我没有清楚地看到好处的惯例。因此,我的问题。
让我们假设:
- 我有一个小应用程序
- 它打开一些资源(例如文件,数据库连接,远程流)并对其进行处理
- 它工作了几分钟,然后退出
- 假设它是在Java中(如果语言相关)
我真的需要关心关闭我打开的所有资源吗?我想当应用程序/虚拟机退出时,我打开的所有资源都将关闭/释放。我说的对吗?
如果这是真的,是否有任何令人信服的理由来关心在如此小,短工作的应用程序中关闭资源?
更新:
这个问题纯粹是假设的,但是不关心这个问题的论点是,我可能只是在一些快速脚本中拼凑起来,不想编写任何与手头问题没有直接关系的不必要的代码:关闭资源,做所有这些冗长的尝试-捕获-最终的事情,处理我不关心的异常等等。
问题的要点是不这样做是否有任何实际后果。