O que é GraalVM
Uma VM poliglota de alto desempenho.
O que é GraalVM é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.
O que é GraalVM
GraalVM é uma distribuição de JDK de alto desempenho construída sobre um compilador moderno de tempo de execução chamado Graal. Ela executa Java comum com mais rapidez em muitas cargas de trabalho e acrescenta dois recursos principais: execução poliglota e compilação nativa antecipada.
Um JDK compatível de imediato
GraalVM é um JDK completo. Seus javac, java e códigos de bytes existentes continuam funcionando sem alterações. A diferença está no compilador subjacente e nas ferramentas extras incluídas, como native-image.
public class Main {
public static void main(String[] args) {
System.out.println("Runs the same on GraalVM as on any JDK");
System.out.println("Java: " + System.getProperty("java.version"));
}
}O compilador Graal
O compilador Graal de tempo de execução é escrito na própria linguagem Java. Ele realiza otimizações agressivas, como expansão inline avançada, análise parcial de escape e otimização especulativa, frequentemente superando o compilador C2 tradicional em código com muitas abstrações e alocações.
Execução poliglota com Truffle
GraalVM inclui o framework Truffle, que permite que várias linguagens sejam executadas na mesma VM e até chamem umas às outras. Há implementações para JavaScript, Python, Ruby, R e WebAssembly. Os valores podem atravessar as fronteiras entre linguagens com baixo custo adicional.
Exemplo de execução poliglota (conceitual)
Com a API poliglota, você cria um Context e avalia código em outra linguagem; depois, lê o resultado de volta no Java. As classes estão em org.graalvm.polyglot.
// Requires GraalVM polyglot runtime
import org.graalvm.polyglot.*;
public class Main {
public static void main(String[] args) {
try (Context ctx = Context.create()) {
Value sum = ctx.eval("js", "40 + 2");
System.out.println(sum.asInt());
}
}
}Imagem nativa
A ferramenta native-image compila Java antecipadamente em um executável nativo independente. Não há JVM em tempo de execução, nem carregamento de classes ou aquecimento do compilador — o programa é iniciado em milissegundos.
Edições
GraalVM está disponível em uma Edição da Comunidade gratuita e em uma distribuição Oracle GraalVM com otimizações adicionais. Ambas incluem native-image; para a maioria dos aprendizados e muitos usos em produção, a versão da comunidade é suficiente.
Por que isso importa para a nuvem
A inicialização rápida e o baixo consumo de memória tornam as imagens nativas ideais para funções sem servidor, interfaces de linha de comando e contêineres que podem reduzir a escala até zero. Um serviço Java nativo pode ser iniciado tão rapidamente quanto um binário Go equivalente, eliminando uma desvantagem histórica da JVM.
Compilação em tempo de execução vs AOT
Dois modelos de execução coexistem:
- Compilação em tempo de execução (o compilador Graal) otimiza durante a execução usando criação de perfis em tempo real — oferece a melhor vazão máxima para servidores de longa duração.
- AOT (native-image) compila antes da execução — oferece a melhor inicialização e o menor consumo de memória.
Suporte dos frameworks
Frameworks modernos como Spring Boot, Quarkus e Micronaut oferecem suporte completo ao native-image. Eles pré-calculam a configuração no momento da compilação para que seu aplicativo seja compilado corretamente em um binário nativo.
Escolhendo o GraalVM
Adote o GraalVM quando quiser maior vazão de compilação em tempo de execução em código com muitas abstrações, precisar de interoperabilidade poliglota ou quiser executáveis nativos para implantações com inicialização rápida e baixo consumo de memória. Ele é um superconjunto de um JDK padrão, portanto sua adoção envolve baixo risco.
Verificação rápida
Teste sua compreensão sobre o GraalVM.
Recapitulação
Você conheceu o GraalVM:
- Um JDK completo construído sobre o compilador Graal de alto desempenho em tempo de execução.
- Truffle permite a execução poliglota e chamadas entre linguagens.
- native-image compila Java antecipadamente em executáveis nativos.
- A compilação em tempo de execução favorece a vazão de processos duradouros; AOT favorece a inicialização e o consumo de memória.
- Frameworks como Spring Boot, Quarkus e Micronaut oferecem suporte a compilações nativas.
Perguntas Frequentes
A aula “O que é GraalVM” é grátis?
Sim — o texto completo de “O que é GraalVM” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.
O que vou aprender em “O que é GraalVM”?
Uma VM poliglota de alto desempenho. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “O que é GraalVM”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.