我有几种方法被jvisualvm
不幸的是,由于方法是
,我无法看到可以改进的地方 public int getDimensionValue(int index) {
if( !containsDimension(index) ) {
throw new IndexOutOfBoundsException();
}
return delegate.getValue(index);
}
public boolean containsDimension(int index) {
return delegate.contains(index);
}
假设contains
真的很慢,但如果只是调用它,调用者怎么也会变慢呢?
Self time
意味着没有时间或被包括在内的时间吗?
答案 0 :(得分:0)
在解释VisualVM的输出时要小心:如果你正在查看"热点"列表,您只看到方法内部花费的总时间,,无论呼叫计数。现在看一下实际的通话数:它们是非常庞大的数字。所以在你的情况下,方法并不慢,它们只是被大量调用。这确实表明总体性能将从这些方法变得更快中受益最多,但它根本没有说这些方法很慢。它们可能会尽可能快,这意味着您已经拥有了最佳程序。