Когда я использую профилировщик в NetBeans 7.1, я не вижу ожидаемого номера вызова для моих методов.Количество счетов в профилях netbeans
Чтобы проверить это, я создал простую программу, которая имеет 3 метода, каждый из которых называется десять тысяч раз.
public class profilerTest {
static int one;
static int two;
static int three;
public static void main(String args[]) {
for (int i = 0 ;i<= 10000; i++)one();
}
public static void one() {
System.out.println("one:" + one++);
two();
}
public static void two() {
System.out.println("two:" + two++);
three();
}
public static void three() {
System.out.println("three:" + three++);
}
}
Я ожидаю увидеть 10000 вызовов по методе в моем профилировщике снимке, который я беру в конце профилирования. Однако полученные результаты дают значительно меньшее количество вызовов для каждого метода, и они также различаются для каждого из трех методов.
Мне любопытно, к чему это приводит, и если и как можно получить фактический счет вызова для каждого метода.
Вот скриншот результатов:
Я сделал еще некоторое рытье, и нашел этот bug report, что говорит о собственных методах и методах встраивании в Java горячих точек компилятора. Предлагаемое исправление заключается в использовании опции -Xint для jdk1.6. Однако на JDK 1.7 это не меняет моих результатов.
Я все еще не уверен, почему это происходит. У кого-нибудь есть идея? – quodlibet