参照スナップショットについて

参照スナップショットは、スナップショット時のアプリケーション・ヒープ内のクラス、オブジェクトおよびオブジェクトへの参照の階層表示です。

JVMガベージ・コレクション・ルートからオブジェクトへの参照およびオブジェクト間の参照という、2種類の基本的な参照があります。

JVMガベージ・コレクション・ルートには、アクティブなスレッドからの参照、JNIローカルおよびグローバル変数からの参照および内部JVM参照が含まれます。これらは、オブジェクトをメモリー内に保持する参照であり、gcルートからオブジェクトへのパスがない場合、ガベージ・コレクションに適格です。スナップショットには、1つ以上のJVM gcルートから到達可能なオブジェクトのみが含まれます。

static参照およびクラス・ローダーからの参照は、ガベージ・コレクション・ルートではありません。クラス・ローダー、クラス・ローダーによってロードされたクラスまたはこれらのクラスのオブジェクトへの他の参照がない場合、クラス・ローダーはガベージ・コレクション可能です。クラス・ローダーのガベージ・コレクションが行われるとき、クラス・ローダーによってロードされたすべてのクラス、およびこれらのクラスからstatic参照のみによって参照されるすべてのオブジェクトのガベージ・コレクションも行われます。

オブジェクト間の参照には、正常(強)参照、ソフト参照、弱い参照および疑似参照という4つのタイプがあります。メモリー・リークを検出している場合、通常は強参照のみを考慮します。強参照のみを表示するかすべての参照を表示するかを切り替えることができます。


CPUプロファイリング
メモリー・プロファイリング
リモート・プロファイリング