8.5.1 Explicitヒープに配置できるオブジェクトの条件

ここでは,Explicitヒープに配置できるオブジェクトの前提と,配置すると効果があるオブジェクトについて説明します。

<この項の構成>
(1) 配置できるオブジェクトの前提
(2) 配置すると効果があるオブジェクト

(1) 配置できるオブジェクトの前提

Explicitヒープ(Explicitメモリブロック)に配置するオブジェクトは,次の前提を満たす必要があります。

(2) 配置すると効果があるオブジェクト

明示管理ヒープ機能は,長寿命オブジェクトのうち,一定期間後に破棄されてフルガーベージコレクションで回収されるオブジェクトが,Tenured領域に昇格することを防ぐ機能です。このため,アプリケーションの停止まで使用されるオブジェクトなど,フルガーベージコレクションでも回収されないオブジェクトに対しては,適用する必要がありません。

Explicitヒープに配置すると効果があるオブジェクトとは,次のようなオブジェクトです。

このようなオブジェクトをExplicitヒープに配置することで,Tenured領域に不要なオブジェクトが残存することを防ぎ,フルガーベージコレクションを抑止できます。