자바 JVM 시작 시 네이티브 코드 미리 준비하기
Key Point
자바 애플리케이션의 느린 시작과 워밍업 문제를 근본적으로 해결하는 동시에 동적 최적화의 유연성을 유지하는 핵심 기술로, 컨테이너와 마이크로서비스 환경에서 자바의 효율성을 크게 개선한다.
핵심 요약
- JEP 544는 AOT(Ahead-of-Time) 컴파일과 JIT(Just-In-Time) 컴파일을 결합해 자바 애플리케이션의 시작 속도와 워밍업 시간을 단축한다.
- 훈련 실행 중에 애플리케이션 코드를 네이티브 코드로 컴파일하고 AOT 캐시에 저장해 이후 프로덕션 실행에서 즉시 사용할 수 있게 한다.
- 워크로드가 변하면 JIT 컴파일러가 동적으로 새로운 네이티브 코드를 생성해 최고 성능을 유지한다.
- 애플리케이션 코드 변경 없이 작동하며 AArch64와 x64 아키텍처를 지원한다.
- HotSpot의 기존 AOT 캐시 생성 워크플로우를 확장하는 방식으로 Serial, Parallel, G1, ZGC 가비지 컬렉터를 모두 지원한다.