Backend실행 시간 효율을 위한 클래스 데이터 공유(CDS)와 Layered Jar
이 글은 Java 애플리케이션의 느린 초기 구동 시간을 개선하기 위한 세 가지 기술인 GraalVM Native Image, JVM Checkpoint Restore (Project CRaC), 그리고 Project Leyden에 대해 설명합니다. 특히 GraalVM Native Image는 바이트코드를 미리 기계어로 컴파일하여 실행 시간을 단축하지만, 컴파일 시간, 제약사항, Mybatis와 같은 프레임워크와의 호환성 문제 등 단점도 존재합니다. 또한, 클래스 데이터 공유(CDS)와 Layered Jar를 활용하여 실행 시간 효율을 높이는 방법도 소개하며, 이는 JVM의 바이트코드 변환 과정을 최적화하여 애플리케이션의 시작 속도를 개선하는 데 기여합니다. 궁극적으로 이러한 기술들은 Java 애플리케이션의 성능과 효율성을 향상시키는 데 목적이 있습니다.















