java中执行时间的度量

java中执行时间的度量,java,Java,可能重复: 我想测试我的应用程序,我知道java中有一个方法返回执行时间,但我找不到它。有什么提示吗 long startTime = new Date().getTime(); doSomething(); long endTime = new Date().getTime(); System.out.println("elapsed milliseconds: " + (endTime - startTime)); 总计将包含代码主要部分的运行时间(以毫秒为单位)。这应该可以: Syst

可能重复:

我想测试我的应用程序,我知道java中有一个方法返回执行时间,但我找不到它。有什么提示吗

long startTime = new Date().getTime();
doSomething();
long endTime = new Date().getTime();
System.out.println("elapsed milliseconds: " + (endTime - startTime));
总计将包含代码主要部分的运行时间(以毫秒为单位)。

这应该可以:

System.currentTimeMillis();

您可以使用
nanoTime()
而不是
currentTimeMillis()
,以获得更高的准确性更多关于此的讨论

我不是Java专家,但我认为没有这样的功能。您可以做的是检查要测试的代码位前后的系统时间。

您可以使用
system.currentTimeMillis()
获取系统时间的当前快照


如果您希望生成更复杂的性能统计信息,而不仅仅是对单个代码块进行计时,那么我将看一看。它提供了记录性能统计数据和生成聚合统计数据(如平均、最小和最大时间)的工具。

对不起,yotamoo-java运行时是什么意思?JRE版本?java.lang.runtime?他可能会问我运行时rt=runtime.getRuntime();尝试以下基于AOP的机制:
long start, end, total;

start = System.currentTimeMillis();
// do stuff   
end = System.currentTimeMillis();

total = end - start;
System.currentTimeMillis();
long start = System.currentTimeMillis();
//long start = System.nanoTime();
long end = System.currentTimeMillis();
//long end = System.nanoTime();
System.out.println("time diff = " + (end - start) + " ms");