8.13.2 自動配置設定ファイルを使った明示管理ヒープ機能の使用

明示管理ヒープ機能の自動配置機能は,自動配置設定ファイルを使って設定します。自動配置設定ファイルを使用することで,Javaプログラムを変更することなく明示管理ヒープ機能を使用できます。

自動配置設定ファイルには,Explicitヒープに配置したいオブジェクト,およびオブジェクトを生成する場所を指定します。なお,このファイルに指定したオブジェクト(Explicitメモリブロックに生成されたオブジェクト)から参照されているオブジェクトは,JavaヒープからExplicitメモリブロックへ移動します。オブジェクトの移動については「8.6.5 参照関係に基づくオブジェクトのJavaヒープからExplicitメモリブロックへの移動」を参照してください。

-XX:+HitachiAutoExplicitMemoryオプションを指定して,自動配置設定ファイルを使用して明示管理ヒープ機能を利用する場合の,自動配置設定ファイルの記述形式および記述する際の注意事項について説明します。

自動配置設定ファイルの内容は次のどれかに記述できます。

<この項の構成>
(1) 自動配置設定ファイルの記述形式
(2) 自動配置設定ファイルの記述例
(3) 自動配置設定ファイルの注意事項

(1) 自動配置設定ファイルの記述形式

自動配置設定ファイルの記述形式を次に示します。

<生成点>, <指定したオブジェクトの完全修飾クラス名> # コメント

<生成点>, <指定したオブジェクトの完全修飾クラス名>

注※
生成点の指定例を次に示します。
生成点の指定例意味
*すべてのパッケージのすべてのクラスに含まれる,すべてのメソッドでの,ユーザ指定オブジェクトの生成を生成点として指定します。
com.sample.*com.sampleで始まるすべてのパッケージのクラスに含まれるメソッドでの,ユーザ指定オブジェクトの生成を生成点として指定します。
そのため,下位のパッケージ(com.sample.abc,またはcom.sample.abc.test)が存在する場合は,これらのパッケージも対象となります。
com.sample.Maincom.sample.Mainクラスに含まれるすべてのメソッド(コンストラクタ,および静的初期化子を含む)でのユーザ指定オブジェクトの生成を生成点として指定します。
com.sample.Main.main(java.lang.String[])com.sample.Mainクラスで定義されたmain(java.lang.String[])メソッドでのユーザ指定オブジェクトの生成を生成点として指定します。
ポイント
  • 構文要素を区切る空白文字は,半角スペース文字(「0x20」)またはタブ文字(「¥t」もしくは「0x09」)となります。
  • 行末は改行文字(「¥n」もしくは「0x0A」)または復帰文字(「¥r」もしくは「0x0D」)が1文字以上続いたものとなります。
  • コメントは「#」で始まり,「#」から行末までの間の文字すべてをコメントとします。
  • 生成点での文字「*」は,同一またはサブパッケージに存在するすべてのクラスを表します。サブパッケージのクラスも対象とする点で,Java言語のimport宣言の「*」と生成点の「*」は意味が異なります。

(2) 自動配置設定ファイルの記述例

自動設定ファイルの記述例を次に示します。

# comment
com.sample.*, java.util.ArrayList # comment
com.sample.Main.main(java.lang.String[]), java.util.LinkedList

記述例の内容について説明します。

  1. 1行目はすべてコメントとなります。
  2. com.sample.* で始まるすべてのパッケージに含まれる,クラス,およびメソッドで生成されるjava.util.ArrayListオブジェクトを,Explicitメモリブロックに配置するように指定します。「#」から行末まではコメントとします。
  3. com.sample.Main.main(java.lang.String[])メソッドで生成されるjava.util. LinkedListオブジェクトをExplicitメモリブロックに配置するように指定します。
    参考
    JavaVM内のクラス(例:java, javaxで始まるパッケージのクラス)をユーザ指定オブジェクトの生成点として指定したエントリを記述できます。しかし,指定したエントリが存在しないものとして扱われることがあります。存在しないものとして扱われた場合は,明示管理ヒープログへエラーメッセージは出力されません。

(3) 自動配置設定ファイルの注意事項

自動配置設定ファイルを指定する場合の注意事項を次に示します。