THINK HARD

Instant.now().toEpochMilli() 와 System.currentTimeMillis() 본문

알게된사실

Instant.now().toEpochMilli() 와 System.currentTimeMillis()

HEEJUNDID 2025. 11. 19. 00:21
728x90
반응형

둘을 비교해보면

성능 측면에서는 System.currentTimeMillis()가 객체생성이 없어 더 빠를 것이다.

정밀도 측면에서는 Instant 마이크로초 단위의 해상도를 지원하는 일부 플랫폼에서는 더 나은 방식이다.

Java 초창기의 많은 표준 라이브러리, 메서드는 long 에포크 이후 몇 밀리초를 인수로 사용했다.

하지만 요즘에는 맞지 않는 방식이라고 한다.

Instant 인수로 사용하는 현대적인 메서드를 쓰는 것이 낫다.

경과 시간을 측정하는 측면에서 더 높은 정밀도를 갖는 것은 System.nanoTime() 이다.

Instant.now()의 장점 :

  • Jmockit과 같은 도구를 사용하여 테스트 할 수 있다.
  • System.currentTimeMillis()는 네이티브 메서드 이므로 일반적으로 unmockable하다.

상황에 맞게 쓰는것이 좋을 것 같다.

728x90
반응형

'알게된사실' 카테고리의 다른 글

예약 시스템에서 대기열이 필요한 이유  (0) 2026.03.30
멱등성이란  (0) 2026.01.27
서버구조 설계 시 고려할점  (0) 2026.01.07
Jmeter  (0) 2025.12.10
테스트 코드를 작성할 때 유의점  (0) 2025.12.02