
System.currentTimeMillis vs System.nanoTime
В Java есть два стандартных способа проведения тайм-операций и не всегда понятно, какой из них следует выбрать.
Метод
Метод
Таким образом,
#lesson #time
В Java есть два стандартных способа проведения тайм-операций и не всегда понятно, какой из них следует выбрать.
Метод
System.currentTimeMillis
возвращает текущее количество миллисекунд от начала эпохи Unix в формате Long
. Его точность составляет от 1 до 15 тысячных долей секунды в зависимости от системы.long startTime = System.currentTimeMillis();
long estimatedTime = System.currentTimeMillis() - startTime;
Метод
System.nanoTime
имеет точность до одной миллионной доли секунды (наносекунды) и возвращает текущее значение наиболее точного доступного системного таймера.long startTime = System.nanoTime();
long estimatedTime = System.nanoTime() - startTime;
Таким образом,
System.currentTimeMillis
отлично подходит для отображения абсолютного времени и синхронизации с ним, а System.nanoTime
– для измерения относительных интервалов.#lesson #time