大家好,谁能帮我解决这个问题
>我使用 Java 反射执行 Java 类的方法。现在我想获取方法的实际执行时间,而不管反射花费的时间强>.
A类{ //方法
无效 abc(){ System.out.println(" Hello World "); }
//现在使用反射我将调用此方法
AClass aObj=new AClass();
Class _cObj=Class.forName("AClass"); 方法_meth_Invoke=cObj.getMethod("abc",null);
//现在听到你看到,如果我在执行这个(Method.invoke())语句之前使用时间戳,然后在使用另一个时间戳并减去它(使用“System.nanoTime()”) ,然后我得到两个方法 abc()+ invoke() 方法的 TIME。这就是我只想知道方法 abc() 的实际执行时间的问题。
_meth_Invoke.invoke(aObj,...); }
请指导我,我花了很多时间上网,但无法找到合适的 Material 。
最佳答案
使用探查器来查明程序执行该方法花费了多少时间。如果您使用 Oracle 的 JDK 6(或更高版本),则可以使用 JVisualVM它包含在 JDK 中用于分析。
通过在命令提示符窗口中输入命令jvisualvm
来启动它。
关于java - 如何使用Java Reflection获取 "method"的实际执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5500064/