ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Processのストリームのクローズ

2010-12-26 21:35:55 | PG(Java)

ブログを書こうと思ったときくらいしかブログを見ないので、ブログ宛にメールが来ていても気付くのが遅れます(ごめんなさい)。そもそも滅多にメール来ないしなー。

というところで、「ProcessのページでBufferedReaderをクローズしてない」という指摘を受けて、びっくり。改めて見てみると、ホントだー?!

てなワケで、クローズしなくてもいい理由を必死に調査・考えた(爆)

最初はProcess#waitFor()辺りでクローズしてないかなーと思ったが、waitFor()を呼んだ後でもストリームを取得できるので、やってる訳が無い。
その後で呼べるProcessのメソッドは無いしなー。

結論を言うと、自分が取得していない隠れたストリームも含めてファイナライザーでクローズされるので、よほどGCが動かない状態でなければ問題は無いんじゃないかなーと思う。
(調べたのはWindows版のJDK1.6と1.4だが、たぶん他でも同じだと期待する)
ただまぁ、自分で取得した分くらいはクローズすべきではあると思うので、ウェブページのサンプルにはクローズ処理を軒並み追加した。

…ふう、もっと大ごとになるかと思った。危ない危ない^^;



最新の画像もっと見る

コメントを投稿