1

VisualVM 向我展示了一个特定的方法需要很长时间才能执行。

是否有任何广泛使用的策略来查看 Java 方法的性能(关于时间)?

我的直觉是,缓慢的响应时间将来自 VisualVM 报告的调用层次结构中某个位置的方法,但我认为获得一些硬数字比基于假设在代码中四处寻找要好表现。

4

2 回答 2

2

VisualVM 应该向您展示使用最多 CPU 的方法。如果最大的用户是您的方法,则意味着它不是您正在调用的方法,除非您正在调用许多单独看起来很小但总体上更多的方法。

我建议你把这个方法调用的方法和你的总数区别开来。这就是您的方法添加了多少被分析的内容。注意:由于分析器有开销,因此未分析时它添加的量可能会更少。

于 2012-10-23T12:26:07.057 回答
1

您需要使用 JProfiler、Yourkit 等工具。您可以深入分析您的代码,并且您可以准确掌握哪个方法花费了很多时间。使用这些工具,您可以随心所欲地深入层次结构。

于 2012-10-23T12:27:36.290 回答