@GwtCompatible(emulated=true) public final class Stopwatch extends Object
System.nanoTime() for a few reasons:
 nanoTime, the value returned has no absolute
     meaning, and can only be interpreted as relative to another timestamp
     returned by nanoTime at a different time. Stopwatch is a
     more effective abstraction because it exposes only these relative values,
     not the absolute ones.
 Basic usage:
Stopwatch stopwatch = Stopwatch.createStarted(); doSomething(); stopwatch.stop(); // optional long millis = stopwatch.elapsed(MILLISECONDS); log.info("time: " + stopwatch); // formatted string like "12.3 ms"
Stopwatch methods are not idempotent; it is an error to start or stop a stopwatch that is already in the desired state.
When testing code that uses this class, use
 createUnstarted(Ticker) or createStarted(Ticker) to
 supply a fake or mock ticker.
  This allows you to
 simulate any valid behavior of the stopwatch.
 
Note: This class is not thread-safe.
| Modifier and Type | Method and Description | 
|---|---|
| static Stopwatch | createStarted()Creates (and starts) a new stopwatch using  System.nanoTime()as its time source. | 
| static Stopwatch | createStarted(Ticker ticker)Creates (and starts) a new stopwatch, using the specified time
 source. | 
| static Stopwatch | createUnstarted()Creates (but does not start) a new stopwatch using  System.nanoTime()as its time source. | 
| static Stopwatch | createUnstarted(Ticker ticker)Creates (but does not start) a new stopwatch, using the specified time
 source. | 
| long | elapsed(TimeUnit desiredUnit)Returns the current elapsed time shown on this stopwatch, expressed
 in the desired time unit, with any fraction rounded down. | 
| boolean | isRunning() | 
| Stopwatch | reset()Sets the elapsed time for this stopwatch to zero,
 and places it in a stopped state. | 
| Stopwatch | start()Starts the stopwatch. | 
| Stopwatch | stop()Stops the stopwatch. | 
| String | toString()Returns a string representation of the current elapsed time. | 
@CheckReturnValue public static Stopwatch createUnstarted()
System.nanoTime()
 as its time source.@CheckReturnValue public static Stopwatch createUnstarted(Ticker ticker)
@CheckReturnValue public static Stopwatch createStarted()
System.nanoTime()
 as its time source.@CheckReturnValue public static Stopwatch createStarted(Ticker ticker)
@CheckReturnValue public boolean isRunning()
public Stopwatch start()
Stopwatch instanceIllegalStateException - if the stopwatch is already running.public Stopwatch stop()
Stopwatch instanceIllegalStateException - if the stopwatch is already stopped.public Stopwatch reset()
Stopwatch instance@CheckReturnValue public long elapsed(TimeUnit desiredUnit)
Note that the overhead of measurement can be more than a microsecond, so
 it is generally not useful to specify TimeUnit.NANOSECONDS
 precision here.
elapsedTime())Copyright © 2010-2015. All Rights Reserved.