//method 1 & 2 contain calls to a number of other methods
for(int i=0; i<100;i++) {
method1();
method2();
}
我想在循环的每个计数器'i'上分析上述Java代码,并获取每个i值的方法统计信息(特别是执行延迟)。
方法method1()和method2()包含对其他方法的调用,包括来自其依赖项的方法调用。
如何在每个柜台配置我的代码?我认为JProfiler无法实现。
答案 0 :(得分:0)
在JProfiler中,method splitting是可能的。首先,您应该将对method1
和method2
的调用包装到另一个方法中,并将i
作为参数传递:
...
for(int i=0; i<100;i++) {
measure(i);
}
...
void measure(int i) {
method1();
method2();
}
然后分析您的代码,转到调用树,选择measure
方法,然后从上下文菜单中选择Split Method With a Script
。在现在显示的脚本对话框中,将String.valueOf(i)
配置为脚本。对于下一次性能分析,现在您将在调用树中分别获得measure
的最慢执行。