Как получить размер данных, передаваемых от одного метода к другому в JProfiler? - PullRequest
1 голос
/ 11 июля 2019

Я только начал использовать JProfiler (версия 11.0.1).После профилирования моего тестового приложения (инструментария) я перешел к «Представлениям CPU-> Call Graph» и сгенерировал граф вызовов после выбора интересующих меня классов. У меня есть два класса, класс A и класс B. Я вижу, сколько времени занялопо каждому и счету вызовов также.Пока что все кажется правильным.В моем примере я передаю целочисленную переменную и двойную переменную из класса A в класс B. Однако я не знаю, где искать, если я хочу увидеть, сколько данных (скажем, в КБ) отправляетсяиз класса 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 голосов
/ 11 июля 2019

Измерение размера объектов, передаваемых между методами, будет чрезмерно дорогим.

Вместо этого вы можете использовать запись выделения в представлениях памяти. Затем вы можете увидеть, как объекты могут быть размещены в определенных стеках вызовов. С помощью этой информации вы сможете ответить на ваш вопрос.

...