Spring Boot

GraalVM Native Images

빠른 시작, 네이티브 컴파일, AOT, reflection hints, 제한을 위한 GraalVM 네이티브 이미지

20 면접 질문·
Senior
1

GraalVM Native Image란 무엇입니까?

답변

GraalVM Native Image는 AOT(Ahead-of-Time) 컴파일을 통해 Java 애플리케이션을 독립 실행형 네이티브 실행 파일로 컴파일하는 기술입니다. 런타임에 JIT(Just-In-Time) 컴파일을 사용하는 기존 JVM과 달리, Native Image는 모든 코드를 사전에 분석하고 컴파일합니다. 이를 통해 거의 즉각적인 시작(밀리초), 메모리 사용량 감소, 실행을 위한 JVM 의존성 제거가 가능합니다.

2

AOT 컴파일과 JIT 컴파일의 주요 차이점은 무엇입니까?

답변

AOT(Ahead-of-Time) 컴파일은 실행 전에 모든 코드를 분석하고 컴파일하여 최적화된 네이티브 실행 파일을 생성합니다. JIT(Just-In-Time) 컴파일은 실행 중에 Java bytecode를 점진적으로 기계어로 컴파일합니다. AOT는 즉각적인 시작을 제공하지만 build 시간이 더 오래 걸리며, JIT는 시작은 느리지만 실제 사용 패턴을 기반으로 시간이 지나면서 코드를 최적화합니다.

3

Spring Boot native image를 빌드하려면 어떤 Maven plugin을 사용해야 합니까?

답변

org.graalvm.buildtools 그룹의 native-maven-plugin은 Maven으로 native image를 빌드하기 위한 공식 plugin입니다. Spring Boot starter parent는 'native' profile에서 이를 자동으로 활성화합니다. plugins 섹션에 plugin을 선언하고 원하는 모드에 따라 mvn -Pnative spring-boot:build-image 또는 mvn -Pnative package를 실행하기만 하면 됩니다.

4

Spring Boot 네이티브 컴파일을 위한 Maven profile은 어떻게 활성화합니까?

5

GraalVM Native Image에서 'closed-world assumption' 원칙이란 무엇입니까?

+17 면접 질문

다음 면접을 위해 Spring Boot을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기