如何获取在JProfiler中从一种方法传递到另一种方法的数据大小?

时间:2019-07-11 08:01:29

标签: jprofiler

我刚刚开始使用JProfiler(版本11.0.1)。对测试应用程序(仪器)进行性能分析后,我转到“ CPU视图->调用图”,并在选择了我感兴趣的类之后生成了调用图。我有两个类,即A类和B类。我看到了花费的时间每个调用以及调用计数也是如此。到目前为止,一切似乎都是正确的。在我的示例中,我将一个整数变量和一个双精度变量从类A传递到类B。但是,如果我想查看要发送的数据量(以KB为单位),我不知道在哪里寻找从A类到B类。这是我使用的代码:

A级

public class ClassA {
    public static void main(String args[]){
        ClassB clsB = new ClassB();
        clsB.MethodB1(78);
        clsB.MethodB2(999999);
    }
}

B级

public class ClassB {
    public void MethodB1(int i){
        System.out.println("The value of i is " + i);
    }
    public void MethodB2(double i){
        System.out.println("The value of i is " + i);
    }
}

结果如下图所示: enter image description here

所以,我的问题是在哪里查找从ClassA发送到ClassB的数据大小?

谢谢。

1 个答案:

答案 0 :(得分:0)

测量在方法之间传递的对象的大小会非常昂贵。

您可以做的是在内存视图中使用分配记录。然后,您可以查看如何在特定的调用堆栈中分配对象。有了这些信息,您也许可以回答您的问题。