O que é o GraalVM
GraalVM é uma máquina virtual de alto desempenho que suporta várias linguagens, incluindo Java, e oferece um recurso chamado Native Image.
Esse recurso compila o código Java (ou bytecode) em um executável nativo específico para a plataforma (Linux, macOS, Windows, etc.).
Diferentemente de uma aplicação Java tradicional, que roda na JVM e depende de um tempo de inicialização mais longo e maior consumo de memória, uma imagem nativa:
-
Reduz o tempo de inicialização (startup time) para milissegundos, ideal para ambientes como Kubernetes, onde containers efêmeros, podendo ser iniciados e destruídos frequentemente.
-
Diminui o consumo de memória, já que elimina a necessidade de carregar a JVM completa.
-
Produz imagens de container menores, porque o executável nativo é mais compacto que o pacote de uma aplicação Java com dependências e a JVM.
Note
O Spring Boot, a partir da versão 2.3 (com melhorias significativas nas versões 3.x), integrou suporte ao GraalVM Native Image por meio do projeto Spring Native.