0

我看到了你的下面的线程。我也在尝试做类似的事情,但不确定哪个 api 会给出最好的结果:你能建议你使用哪一个吗?

使用 JVMTI 提供的 MethodEntry 和 MethodExit 事件挂钩,我将如何测量在 Java 中执行的方法的时间?

简单来说就是:time2 - time1 但我看到的问题是,如何区分不同的方法?有一个methodID,但是递归调用呢?方法打开后什么时候关闭?

我应该比较堆栈跟踪吗?什么是有意义的数据结构来跟踪输入的方法?地图之类的?

4

1 回答 1

2

使用 MethodEntry 和 MethodExit 事件来记录方法时间可能不是一个很好的策略,因为使用这些事件会严重破坏时间。您可能希望所有方法的干扰都相同,并且您仍然可以获得相对时间,但我不确定这是真的。

更好的策略是使用字节码检测来跟踪这些事件。

于 2013-06-05T16:54:20.530 回答