java - 如何使用Java Reflection获取 "method"的实际执行时间?

标签 java reflection

大家好,谁能帮我解决这个问题

>我使用 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/

相关文章:

java - 找不到部署描述符

c# - 尝试创建新类型时出现 InvalidProgramException

c# - 如何引用类(不是对象)的属性?

java - 调用Comparator比较方法中的方法

java - Android studio Gradle 没有构建新的 Jar 文件

java - 如何将 wsdl 中定义的 Soap Header 添加到 CXF 中的 Web 服务客户端?

java - 包含 switch case 语句并插入到数据库的方法的单元测试

javascript - 如何编写脚本来检测网站上的 Activity 按钮?

C# - 从程序集中的文件夹中获取所有接口(interface)

c# - 对已加载到应用程序域中的文件使用反射,而不是(再次)加载每个文件