GraalVM Native Images
Immagini native GraalVM per avvio rapido, compilazione nativa, AOT, reflection hints, limitazioni
1Cos'è GraalVM Native Image?
Cos'è GraalVM Native Image?
Risposta
GraalVM Native Image è una tecnologia che compila le applicazioni Java in eseguibili nativi autonomi tramite compilazione AOT (Ahead-of-Time). A differenza della JVM tradizionale che usa la compilazione JIT (Just-In-Time) a runtime, Native Image analizza e compila tutto il codice in anticipo. Questo consente un avvio quasi istantaneo (millisecondi), un'impronta di memoria ridotta e nessuna dipendenza da una JVM per l'esecuzione.
2Qual è la principale differenza tra la compilazione AOT e JIT?
Qual è la principale differenza tra la compilazione AOT e JIT?
Risposta
La compilazione AOT (Ahead-of-Time) analizza e compila tutto il codice prima dell'esecuzione, producendo un eseguibile nativo ottimizzato. La compilazione JIT (Just-In-Time) compila il bytecode Java in codice macchina in modo progressivo durante l'esecuzione. AOT offre un avvio istantaneo ma richiede un tempo di build più lungo, mentre JIT si avvia lentamente ma ottimizza il codice nel tempo in base ai pattern di utilizzo reali.
3Quale plugin Maven usare per costruire una native image Spring Boot?
Quale plugin Maven usare per costruire una native image Spring Boot?
Risposta
Il native-maven-plugin del gruppo org.graalvm.buildtools è il plugin ufficiale per costruire native images con Maven. Spring Boot starter parent lo attiva automaticamente nel profilo 'native'. Basta dichiarare il plugin nella sezione plugins ed eseguire mvn -Pnative spring-boot:build-image o mvn -Pnative package a seconda della modalità desiderata.
Come attivare il profilo Maven per la compilazione nativa di Spring Boot?
Cos'è il principio della 'closed-world assumption' in GraalVM Native Image?
+17 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
Padroneggia Spring Boot per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis