Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 保守/移行編


9.6.3 staticフィールドを基点とした参照関係情報出力機能で出力するクラス別統計情報

ここでは,staticフィールドを基点とした参照関係情報出力機能で出力するクラス別統計情報の出力形式,出力項目および出力例について説明します。

〈この項の構成〉

(1) 出力形式と出力項目

(2) 出力例

staticフィールドを基点とした参照関係情報出力機能で出力するクラス別統計情報の出力例を,次のソースを例にして説明します。

import JP.co.Hitachi.soft.jvm.MemoryArea.*;
public class static_reference {
  public static void main(String args[]) {
   try {
      classA cls_a1 = new classA();
      classB cls_b1 = new classB();
      classB cls_b2 = new classB();
      classC cls_c1 = new classC();
      classC cls_c2 = new classC();
      classC cls_c3 = new classC();
      BasicExplicitMemory emem = new BasicExplicitMemory();
      classC cls_c4 = (classC)emem.newInstance(classC.class);
      cls_a1.s_cls_a = cls_a1;
      cls_a1.s_cls_b = cls_b1;
      cls_a1.s_cls_c = cls_c1;
      cls_a1.cls_b = cls_b2;
      cls_b1.cls_c = cls_c2;
      cls_b2.cls_c = cls_c3;
      cls_c1.cls_c = cls_c4;
      Thread.sleep(20000);
    } catch (Exception e) {e.printStackTrace();}
  }
}
class classA {
  static classA s_cls_a;
  static classB s_cls_b;
  static classC s_cls_c;
  classB cls_b;
}
class classB {
  classC cls_c;
}
class classC {
  classC cls_c;
  public classC(){
  }
}

インスタンス構造を次の図に示します。

図9‒8 インスタンス構造(staticフィールドを基点とした参照関係情報出力機能)

[図データ]

staticフィールドを基点とした参照関係情報出力機能の出力結果を次の図に示します。この場合,jheapprofコマンドに引数「-class <クラス名> -staticroot」を指定して実行します。

図9‒9 出力結果(staticフィールドを基点とした参照関係情報出力機能)

[図データ]