在java中是否有跟踪/监控框架的时间

时间:2014-02-26 06:58:46

标签: java timer tracking

我使用java创建了一个演示文稿渲染框架。需要计算用户对演示文稿中每个帧花费的时间。所以在java中有任何api或框架看起来像秒表。

2 个答案:

答案 0 :(得分:3)

对于测量,您可以使用:

System.nanoTime();

返回最精确的可用系统计时器的当前值,以纳秒为单位。

此方法只能用于测量经过的时间,与系统或挂钟时间的任何其他概念无关。返回的值表示自固定但任意时间以来的纳秒数。

例如来自oracle文档:

long startTime = System.nanoTime();
// ... the code being measured ...
long estimatedTime = System.nanoTime() - startTime;

答案 1 :(得分:1)

使用恰好为此目的而存在的System.nanoTime()。如果您想要额外的goodies,例如轻松操纵已用时间,支持圈数,那么您可以查看com.google.common.base.StopWatch中的Guava library

示例:

   Stopwatch stopwatch = Stopwatch.createStarted();
   doSomething();
   stopwatch.stop(); // optional

   long millis = stopwatch.elapsed(MILLISECONDS);

   log.info("time: " + stopwatch); // formatted string like "12.3 ms"

Guava还包括其他好东西,如集合,缓存,基元支持,并发库,通用注释,字符串处理,I / O等。