Java反应时间测试 - 经过的时间?

时间:2013-08-13 16:16:07

标签: java date system

我正在尝试制作一个非常简单的反应时间测试程序。它包含一个“Begin Test”按钮和一个“Click Me”按钮。按下第一个按钮后,第二个按钮在一些随机秒后闪烁红色。时间由用户按下红色并按下的时间计算。

据我搜索过,有3种方法可以计算程序的使用/执行时间(以毫秒为单位):

  • 日期()。的getTime()
  • System.currentTimeMillis的()
  • System.nanoTime()

哪一个更适合我?事实是我的时间需要一定的精确度。

非常感谢:)

3 个答案:

答案 0 :(得分:4)

System.nanoTime()是获得明确精确度的最佳方法。

请参阅:System.nanoTime()

Returns the current value of the most precise available system timer, in nanoseconds.

答案 1 :(得分:4)

你正在计算人类的反应,所以System.nanoTime()是过度的。

剩下的两个中最少侵入的是System.currentTimeMillis(),但请记住,它具有从系统到系统的粒度。

答案 2 :(得分:1)

如果您可以使用库,那么您可能对Guava的StopWatch类感兴趣。