Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

System.nanoTime()

Возвращает показания точного таймера в наносекундах — для замера длительности. Рядом — currentTimeMillis().

Доступно с: Java 5

Синтаксис

public static long nanoTime()

Возвращаемое значение

longЧисло наносекунд от произвольной точки отсчёта; имеет смысл только разность двух значений.

Примеры

Замер времени работы цикла (время меняется от запуска к запуску):

void main() {
    long start = System.nanoTime();
    long sum = 0;
    for (int i = 0; i < 10_000_000; i++) {
        sum += i;
    }
    long elapsed = System.nanoTime() - start;
 
    IO.println("sum = " + sum);
    IO.println("took " + elapsed / 1_000_000 + " ms");
}

Результат:

sum = 49999995000000
took 11 ms

System.currentTimeMillis() — текущее время в миллисекундах с 1 января 1970 года (UTC):

void main() {
    long now = System.currentTimeMillis();
    IO.println(now);
    IO.println(Instant.ofEpochMilli(now));
}

Результат:

1791099664011
2026-10-04T07:41:04.011Z

Примечания

nanoTime() не связан с календарём: его точка отсчёта произвольна, зато он никогда не идёт назад. Поэтому длительность меряют через nanoTime(), а момент времени берут из currentTimeMillis() или Instant.now() — системные часы могут перевести, и разность двух currentTimeMillis() окажется неверной. Разность удобно превратить в Duration.ofNanos(elapsed). Для серьёзных замеров производительности используйте библиотеку JMH: первый запуск кода всегда медленнее из-за прогрева JVM.

См. также

  • Duration — Промежуток времени в секундах и наносекундах — часы, минуты, секунды.
  • Instant — Точный момент времени на временной шкале UTC — для логов, меток времени и замеров.
  • Runtime.getRuntime() — Возвращает объект Runtime текущей JVM: память, число процессоров, обработчики завершения.

Вопросы и ответы по теме

В учебнике

  • Даты и время — Пакет java.time — LocalDate, LocalTime, LocalDateTime, арифметика дат, Period, Duration, ChronoUnit, часовые пояса и Instant.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.