9.5.2 STATICメンバ統計機能で出力するクラス別統計情報
ここでは,STATICメンバ統計機能で出力するクラス別統計情報の出力形式,出力項目および出力例について説明します。
- 〈この項の構成〉
(1) 出力形式と出力項目
STATICメンバ統計機能で出力するクラス別統計情報の出力形式を次に示します。
-
出力形式
Java Heap Dump Static Profile ----------------------- ________________Size__Instances__Class________________ <total_size> <Instance_count> <class_name> <total_size> <Instance_count> <class_name> ...
-
出力項目
出力形式で示した各項目について説明します。
表9‒8 出力項目(STATICメンバ統計機能) 出力項目
意味
<total_size>
インスタンスの合計サイズがバイト単位で出力されます。
<Instance_count>
インスタンスの数が出力されます。
<class_name>
クラス名が出力されます。
(2) 出力例
STATICメンバ統計機能で出力するクラス別統計情報の出力例を,次のソースを例にして説明します。
public class static_instance { public static void main(String args[]) { classA cls_a; classB cls_b; classC cls_c; cls_a = new classA(); cls_b = new classB(); cls_c = new classC(); cls_b.cls_c = cls_c; cls_a.cls_b = cls_b; try { Thread.sleep(20000); } catch (Exception e) {} } } class classA { static classB cls_b; } class classB { classC cls_c; } class classC { }
STATICメンバ統計機能の出力結果を次の図に示します。
また,上記のソースの場合,インスタンス統計機能とSTATICメンバ統計機能では,参照関係に違いがあります。インスタンス統計機能とSTATICメンバ統計機能の参照関係の相違を次の図に示します。
それぞれ機能の参照関係は次のようになっています。
-
インスタンス統計機能の参照関係
インスタンスAのインスタンス変数 cls_b → インスタンスBのインスタンス変数 cls_c → インスタンスC
-
STATICメンバ統計機能の参照関係
クラスAのクラス変数cls_b → インスタンスBのインスタンス変数cls_c → インスタンスC