_ [Java]ObjectOutputStream の落とし穴 ループ内で ObjectOutputStream に対して繰り返し writeObject() の呼び出しを行なっているうちに OutOfMemoryError が出てしまうという現象に悩まされる。 いろいろ調べているうちに Object Serialization: Frequently Asked Questions という文書に行き当たった。ObjectOutputStream はストリームに書き出したオブジェクト(やそのオブジェクトから参照されているオブジェクト)の参照をテーブルで保持しているので、そのオブジェクトは GC の対象にならないらしい。参照を解放するには reset() を呼び出す必要があるとのこと。 そんな大事なことは JavaDoc に書いておいてくれ。 そしてもう1つびっくりしたこと。 objec