Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

不要になった変数に NULL を代入する

不要になった変数に明示的に NULL を代入すると、安全に再生できるメモリー上の部分をガベージコレクタが識別しやすくなります。Java はメモリー管理機構を備えていますが、メモリーリークや過度のメモリー使用を防ぐわけではありません。

オブジェクト参照を解放しないことにより、アプリケーションがメモリーリークを誘発する場合があります。それにより、Java ガベージコレクタがそれらのオブジェクトを再生できなくなり、結果的に使用中のメモリーの量が増加します。使用後に変数への参照を明示的に null にすることにより、ガベージコレクタがメモリーを再生できるようになります。

メモリーリークを検出する 1 つの方法は、プロファイリングツールを利用し、毎回のトランザクション後にメモリーのスナップショットを取ることです。安定した状態でリークのないアプリケーションは、ガベージコレクション後に安定したアクティブヒープメモリーを示します。