1

我试图找出我的 Java 程序在执行时调用的每个方法所花费的时间。我不想乱扔我的代码System.currentTimeMillis()。也许,像探查器或 IDE 插件之类的东西,但我不确定这是否是所谓的。有人可以通过指出我正确的方向来帮助我吗?

示例代码

public static void main(String[] args){
   Obj A = new Obj();
   ObjDiff B = new ObjDiff();
   A.callMe();
   B.callMeToo();
}

工具/框架

  • 支柱

我想要什么

  1. 实例化所花费的时间Obj A
  2. 实例化所花费的时间ObjDiff B
  3. 跑步所花费的时间A.callMe()
  4. 运行时间B.callMeToo()

任何帮助将不胜感激。

干杯,
罗希特什

编辑
我已经安装了 VisualVM 并将其用作独立应用程序。这很有帮助。但是,我的主要问题仍未解决。从方法上看,我无法查看内存/CPU 使用情况。对此有什么想法吗?

4

2 回答 2

2

VisualVM 是一个很好的工具。我最喜欢的一个(到目前为止)是 JProfiler。如果你不是一家公司,它不是免费的而且相当昂贵,但你可以评估它 10 天。

于 2013-05-17T08:19:47.723 回答
2

我也会推荐VisualVM,基本但非常有用。建议您在与您的应用程序相同的 Java 7 JVM 上运行它以避免兼容性问题。如果您需要更高级的功能,例如跟踪用户与 Web 服务器的交互,您可以查看更精细的分析器,例如 Introscope。

于 2013-05-17T06:31:00.113 回答