VisualVM 对我来说是一个不错但有点复杂的工具。
我编写了一个具有许多功能的类(在 Eclipse 中)。如何获取每个函数调用多少次以及执行期间花费的时间的信息?
其实很简单。运行您的程序,它将自动在 VisualVM 面板中显示为正在运行的进程。单击它,然后直接转到 Sampler 选项卡。最后,点击CPU,你就搞定了。在那里你可以看到每个函数所花费的时间。
请参阅使用 VisualVM 进行分析,第 1 部分和使用 VisualVM 进行分析,第 2 部分,以获取有关分析以及如何设置分析根和检测过滤器的更多信息。
对于详尽的分析,需要使用替代工具,例如 JProfiler。
根据@TomasHurka 所说,您还可以使用 VisualVM 进行分析(https://blogs.oracle.com/nbprofiler/entry/profiling_with_visualvm_part_1)
这可能对你有点帮助..
使用 Time Difference 通过使方法返回某些内容来计算执行。
long before = System.currentTimeMillis();
String responseFromMethod=methodCall(); // String value returned from method
long totalResponseTime=((System.currentTimeMillis() - before )/1000);
您可以为调用函数的次数保留一个计数器值。
对于 VisualVM,您可以使用 Eclipse MAT 来分析 heapdump 。它将解释您的程序需要改进的地方。
谢谢,