Hitachi

 Hitachi Application Server V10 定義リファレンスWindows®用)


8.3 exmemnotexcludeclass.cfg

明示管理ヒープ機能適用除外設定ファイルに指定したクラスのうち、適用除外設定を無効にしたいクラスを指定する設定ファイルのことです。この設定ファイルを明示管理ヒープ機能適用除外無効設定ファイルといいます。

説明

明示管理ヒープ機能適用除外設定ファイルに指定したクラスのうち、適用除外設定を無効にしたいクラスを指定します。このファイルに指定したクラスのオブジェクトは、GCが発生すると、Explicitヒープへ移動します。

明示管理ヒープ機能の適用対象から除外されているクラスを無効にしたい場合は、格納先に示すファイルパスにある設定ファイルを更新するか、または新たな設定ファイルを作成してください。システムで提供している明示管理ヒープ機能適用除外設定ファイル(sysexmemexcludeclass.cfg)に指定されているクラスも設定を無効にできます。なお、新たに設定ファイルを作成した場合は、-XX:ExplicitMemoryNotExcludeClassListFileオプションにファイルパスを指定してください。

この設定ファイルの指定は、明示管理ヒープ機能適用除外設定ファイルの指定よりも優先されます。

パッケージ「com.sample」を例に、各設定ファイルの指定と明示管理ヒープ機能の適用範囲について説明します。パッケージ「com.sample」には、ClassAとClassBの2つのクラスがあります。各設定ファイルを次のように指定します。

明示管理ヒープ機能適用除外設定ファイルの指定例
com.sample.*
明示管理ヒープ機能適用除外無効設定ファイルの指定例
com.sample.ClassB

明示管理ヒープ機能適用除外設定ファイルの指定には、ClassAとClassBの両方が含まれています。しかし、明示管理ヒープ機能適用除外無効設定ファイルの指定が優先されるため、次の図のように、明示管理ヒープ機能の適用が除外されるのはClassAだけとなり、ClassBには明示管理ヒープ機能が適用されます。

[図データ]

書式

配列型以外の場合
指定したクラスの完全修飾クラス名#コメント
...
指定したクラスの完全修飾クラス名
配列型の場合
配列の次元数分の"["L指定したクラスの完全修飾クラス名;
注※

多次元配列のときは、「[」を次元数分続けて指定します。3次元配列の場合は「[[[」となります。

(例)aaa.bbb.Myclassクラスの1次元配列の場合

[Laaa.bbb.Myclass;

この設定ファイルの記述規則を次に示します。

格納先

JDKのインストールディレクトリー\usrconf\exmemnotexcludeclass.cfg

記述例

ここで説明する記述例は、パッケージ名が「com.sample」で、次の図に示すクラス構造とし、明示管理ヒープ機能適用除外設定ファイルでは、クラス名を省略して指定するとします。

図8‒2 クラス構造の例

[図データ]

明示管理ヒープ機能適用除外設定ファイルの記述例
com.sample.*
明示管理ヒープ機能適用除外無効設定ファイルの記述例
com.sample.aaa.ClassB
com.sample.ddd.ClassE

この例では、明示管理ヒープ機能適用除外設定ファイルの記述から、同一パッケージ内のクラスだけでなく、サブパッケージに存在するクラスも含めすべてのクラスがTenured領域への移動対象となります。しかし、明示管理ヒープ機能適用除外無効設定ファイルの記述から、ClassBクラスとClassEクラスのオブジェクトがExplicitメモリーブロックへの移動対象となります。このため、ClassAクラス、ClassCクラス、およびClassDクラスのオブジェクトがTenured領域へ移動します。

注意事項

この設定ファイルは、明示管理ヒープ機能適用除外設定ファイルに指定されたクラスの中で明示管理ヒープ機能適用除外設定を無効にするクラスを指定する設定ファイルであり、Explicitメモリーブロックへ移動するクラスを指定する設定ファイルではありません。