程序的运行时间

时间:2011-05-08 15:55:45

标签: java

我怎么能“从程序”(我的意思是在我做“最终回归”之前我想打印这个时间)来找出我的程序运行的时间?

提前致谢

编辑

非常感谢你的所有答案,但我的节目很短,有没有其他方法可以在微秒或纳秒内找出时间?因为使用下面的方法我收到0

3 个答案:

答案 0 :(得分:8)

当程序启动时,你会

long startTime = System.currentTimeMillis();

然后在你从main方法返回之前,你做

long duration = System.currentTimeMillis() - startTime;
System.out.println("Program executed for " + duration + " milliseconds");

答案 1 :(得分:2)

像aioobe建议的那样,main方法的定时是最简单的方法。但它可能不适用于多线程程序,或者如果通过按^ C,System.exit()或未捕获的异常终止程序。

如果您希望在程序终止时收到通知,您可以使用Runtime.addShutdownHook()注册听众。

答案 2 :(得分:0)

您是否计划将此用于分析目的?如果是这样,您可以使用jvisualvm来分析您的应用程序。实际上,如果您运行的是高于1.6 update 7的jdk,那么您已经拥有它:只需输入

即可
jvisualvm

在控制台中玩得开心!