付録B.3 Explicitヒープに配置するオブジェクトの参照関係と寿命との関係
Explicitヒープに配置するオブジェクトから参照されるオブジェクトは,GCが発生すると,「参照関係に基づくオブジェクトのJavaヒープからExplicitメモリブロックへの移動」処理によって,JavaヒープからExplicitメモリブロックへ移動します。この処理は再帰的に適用され,参照関係の末端にあるオブジェクトまでExplicitメモリブロックへ移動します。このため,Explicitメモリブロック内のオブジェクトから,寿命の異なるオブジェクトへの参照が少ないほど,Explicitメモリブロック内のオブジェクトの寿命が同一に近づきます。寿命が同一に近づくことで,同じタイミングで自動解放され,メモリ効率は良くなります。すなわち,オブジェクトの参照関係は,できるだけ同一寿命のオブジェクト間で閉じるように,アプリケーションを実装することが必要になります。例えば,寿命の長い管理テーブルオブジェクトと,寿命の短い1業務で使用するデータオブジェクトの間では,参照関係がないほうが効率は良くなります。参照関係に基づくオブジェクトのJavaヒープからExplicitメモリブロックへの移動については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「7.6.5 参照関係に基づくオブジェクトのJavaヒープからExplicitメモリブロックへの移動」を参照してください。