何度も、アプリケーションは、開いたすべてのリソースを明示的に明示的に閉じる必要があるという声明を受けました。リソースを常に閉じることは重要ですか?
私のプログラミング手法はむしろ実用的で、私は盲目的に私が恩恵をはっきりと見ていない慣習に従うことを好まない。したがって、私の質問です。
のはそれを想定してみましょう:
- が、私はそれはいくつかのリソース(例えばファイル、データベース接続、リモートストリーム)を開き、それを処理
- 小さなアプリケーションを持っていることが、その後数分の作品 それは(言語は関連性がある場合)
- が
のは、それはJavaでだとしましょう出て、私は本当にCLを気にする必要がありますか私が開いたすべてのリソースを調べていますか?アプリケーション/仮想マシンが終了すると、開いたリソースはすべて閉じられ、解放されると思います。私は正しい?
これが本当であれば、そのような小さくて短い作業アプリケーションでリソースを閉じることに気を配る確かな理由はありますか?
UPDATE:
質問は純粋に架空のですが、はそれについてを世話ないための引数は、私は一緒にいくつかの簡単なスクリプトをハッキングすることができると直接関連しない不要なコードを書きたくないということです私が気にしていない例外を処理するなど、この冗長なtry-catch-finallyの処理をすべて実行します。
実際にはの結果があるかどうかです。それをしない。
私はあなたに質問して答えさせてください:あなたはなぜリソースを閉じないよう気にしないのですか? –
"アプリケーション/仮想マシンが終了すると、開いたリソースはすべて閉じられ、解放されます。" - >私の推測ではこれは真実ではありません。 VMを閉じずにVMが終了すると、OSがストリーム/ソケットを閉じる責任を負うことがあります。 – kosa
警告を取り除くには、それらを抑制する必要があります。これは、.close()と同じくらい効果的です。また、それは良い形です。 –