我怎么能“从程序”(我的意思是在我做“最终回归”之前我想打印这个时间)来找出我的程序运行的时间?
提前致谢
非常感谢你的所有答案,但我的节目很短,有没有其他方法可以在微秒或纳秒内找出时间?因为使用下面的方法我收到0
答案 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
在控制台中玩得开心!