8.6.1 参照関係情報出力機能の概要

jheapprofコマンドの-classオプションに指定したクラスのインスタンスがどのクラスから参照されているかを,インスタンスの参照関係の先頭から順番に出力します。

指定したクラスのインスタンスが複数ある場合は,該当するすべてのインスタンスが出力されます。同じ名前のインスタンスが複数ある場合でも,インスタンス名のあとに次の情報が出力されるため,別のインスタンスかどうか識別できます。

参照関係情報出力機能では,基点となるオブジェクトから次の順序に従って参照されるオブジェクトの参照関係を調べます。基点となるオブジェクトは,ほかの参照関係で調べられていないオブジェクトが該当します。1.,2.,3.は調査の優先順を示します。

  1. Javaヒープ内のアドレスの低い順
  2. 明示管理ヒープ内のアドレスの低い順
  3. Permanentヒープ内のアドレスの低い順

参照先のオブジェクトが-classオプションで指定したクラスの場合,参照関係情報には,基点となるオブジェクトから-classオプションで指定したクラスのオブジェクトまでの参照関係が出力されます。

また,参照先のオブジェクトが調査済みの場合は,分岐点まで戻って参照関係を調べます。参照先のオブジェクトがほかの参照関係の基点となるオブジェクトである場合は,参照先オブジェクトとして扱います。すべての基点となるオブジェクトがなくなるまで参照関係を調べます。