2012-09-27 38 views

回答

0

哪些错误有:

long t1 = System.nanoTime(); 
// do something 
long t2 = System.nanoTime(); 
System.out.println(t2 - t1); 

您也可以使用System.currentTimeMillis()(这可能是更好的配合),这真的取决于你试图测量过程。

+0

如果你回去的时候结果会是负的...... – user1329572

+1

我以为OP发布这个答案时不会采取任何类型的时间旅行。 – arshajii

+0

傻兔子:D – user1329572

0

毫秒比纳秒更常见,因为不是每个系统都有这种保真度。

long t0 = System.currentTimeMillis(); 
// Time passes... 
long t1 = System.currentTimeMillis(); 
long elapsedMillis = t1 - t0; 
2

这完全取决于您的程序的性质,您需要什么样的解决方案在您的日志记录。作为一般规则,我认为毫秒就足够了。

0

System.nanoTime()在早期版本的JVM上不受支持。这些的精确度可能也取决于操作系统。 This article是相当有趣的,并解释更多关于这种事

个人我会使用System.currentTimeMillis(),因为这仍然是相当准确的,并支持较旧的虚拟机。如果你想更精确,那么我认为System.nanoTime()是最好的,你可以得到。

ThisSO职位可能是有趣的,你也

相关问题