GraalVM Native Images
Imagens nativas GraalVM para inicialização rápida, compilação nativa, AOT, reflection hints, limitações
1O que é o GraalVM Native Image?
O que é o GraalVM Native Image?
Resposta
GraalVM Native Image é uma tecnologia que compila aplicações Java em executáveis nativos autônomos via compilação AOT (Ahead-of-Time). Diferente da JVM tradicional que usa compilação JIT (Just-In-Time) em tempo de execução, o Native Image analisa e compila todo o código antecipadamente. Isso permite uma inicialização quase instantânea (milissegundos), menor consumo de memória e nenhuma dependência de uma JVM para execução.
2Qual é a principal diferença entre a compilação AOT e JIT?
Qual é a principal diferença entre a compilação AOT e JIT?
Resposta
A compilação AOT (Ahead-of-Time) analisa e compila todo o código antes da execução, produzindo um executável nativo otimizado. A compilação JIT (Just-In-Time) compila o bytecode Java em código de máquina de forma progressiva durante a execução. O AOT oferece inicialização instantânea, mas exige um tempo de build mais longo, enquanto o JIT inicia lentamente, mas otimiza o código ao longo do tempo com base nos padrões de uso reais.
3Qual plugin do Maven usar para construir uma native image do Spring Boot?
Qual plugin do Maven usar para construir uma native image do Spring Boot?
Resposta
O native-maven-plugin do grupo org.graalvm.buildtools é o plugin oficial para construir native images com Maven. O Spring Boot starter parent o ativa automaticamente no profile 'native'. Basta declarar o plugin na seção plugins e executar mvn -Pnative spring-boot:build-image ou mvn -Pnative package conforme o modo desejado.
Como ativar o profile do Maven para a compilação nativa do Spring Boot?
O que é o princípio de 'closed-world assumption' no GraalVM Native Image?
+17 perguntas de entrevista
Outros temas de entrevista Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging com SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Tratamento de exceções
Bean Validation
Fundamentos do Spring Data JPA
Entidades JPA e relacionamentos
Consultas JPA
Spring Data Repositories
Fundamentos do Spring Security
Spring Boot Actuator
Testes unitários com JUnit e Mockito
Testes no Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching com Spring
Spring WebFlux (Reactive)
Transações do Spring
Autenticação e autorização avançadas
JWT e segurança stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices com Spring
Spring Cloud Config
Otimização de desempenho
Domine Spring Boot para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis