Explicitメモリブロック領域の確保や解放は,Webコンテナによって実行されます。Webコンテナとリダイレクタ間の通信に使用する通信用オブジェクトは,通常は常設コネクションとして使い回され,Webサーバが起動している間は保持されます。
Webコンテナとリダイレクタの間で障害が発生した場合などに通信の切断・再接続が発生すると,通信用オブジェクトは破棄・再生成されます。このとき,破棄された通信用オブジェクトがTenured領域に残ります。
これを防ぐため,J2EEサーバでは,Webコンテナとリダイレクタ間の通信用オブジェクトをExplicitヒープに配置します。これによって,不要なオブジェクトがTenured領域に残ることを防ぎ,FullGCの発生を抑止します。
通信の確立と切断のタイミングに対応するExplicitメモリブロックの配置の流れについて説明します。