Class CachedClock

java.lang.Object
org.apache.logging.log4j.core.util.CachedClock
All Implemented Interfaces:
Clock

public final class CachedClock extends Object implements Clock
Implementation of the Clock interface that tracks the time in a private long field that is updated by a background thread once every millisecond. Timers on most platforms do not have millisecond granularity, so the returned value may "jump" every 10 or 16 milliseconds. To reduce this problem, this class also updates the internal time value every 1024 calls to currentTimeMillis().
  • Method Details

    • instance

      public static CachedClock instance()
    • currentTimeMillis

      public long currentTimeMillis()
      Returns the value of a private long field that is updated by a background thread once every millisecond. Timers on most platforms do not have millisecond granularity, the returned value may "jump" every 10 or 16 milliseconds. To reduce this problem, this method also updates the internal time value every 1024 calls.
      Specified by:
      currentTimeMillis in interface Clock
      Returns:
      the cached time