
JVM Warm-up, feat. 스프링 첫 요청이 오래 걸리는 이유
·
💻 Dev/Java & OOP
원인웹 애플리케이션을 실행한 후 초기 요청이 지연되는 현상을 이해하려면, 자바 프로그램이 실행되는 방식을 깊이 살펴볼 필요가 있다.C, C++과 같은 컴파일 언어는 소스 코드를 기계어로 직접 변환하여 최적화된 성능을 제공하나 빌드 환경에 종속적이라는 단점이 있다.즉, 플랫폼이 바뀌면 재컴파일이 필요하다. 자바는 이러한 플랫폼 종속적인 문제를 해결하고자 JVM을 도입하였다.자바는 자바 코드는 컴파일 시 바이트 코드로 변환되고, 실행 시 JVM이 이를 기계어로 변환하여 실행한다.이러한 구조 덕분에 Java는 플랫폼에 종속되지 않게 되었지만, 이 과정에서 변환 작업이 추가되므로 성능에 영향을 미칠 수 있다. 1. 클래스 로더JVM에서 클래스 로더(Class Loader)는 바이트 코드를 메모리에 로드하는 역할..