E foi lançado o GraalVM 22 com novos recursos e várias melhorias. Confira as novidades dessa importante atualização da Oracle.
GraalVM é um Java VM e JDK baseado em HotSpot/OpenJDK, implementado em Java. Ele oferece suporte a linguagens de programação e modos de execução adicionais, como compilação antecipada de aplicativos Java para inicialização rápida e baixo consumo de memória.
GraalVM tem suas raízes no projeto Maxine Virtual Machine no Sun Microsystems Laboratories (agora Oracle Labs).
O objetivo era escrever uma máquina virtual Java no próprio Java, na esperança de liberar o desenvolvimento dos problemas de desenvolvimento em C++, particularmente gerenciamento de memória manual, e se beneficiar de otimizações metacirculares.
Ao perceber que escrever tudo em Java era muito ambicioso como um primeiro passo, a decisão foi focar apenas no compilador e conectá-lo ao Hotspot, para reutilizar o máximo possível o tempo de execução do Hotspot.
O compilador GraalVM foi iniciado convertendo manualmente o código do compilador do cliente Hotspot (denominado “C1”) em Java, substituindo o compilador Maxine anterior.
A Oracle lançou o GraalVM 22 como a versão mais recente de seu Java VM/JDK que também oferece suporte a outras linguagens e modos de execução.
Novidades do GraalVM 22
GraalVM continua a ter desempenho e mostrando resultados promissores não apenas para Java com JIT’ing, mas também para compilação Java antecipada para Native Image, bem como para sua implementação em Python, tempo de execução do WebAssembly e outros destinos.
GraalVM 22.0 é o mais novo lançamento trimestral da Oracle. A edição gratuita da comunidade de código aberto do GraalVM 22.0 está disponível juntamente com sua variante GraalVM Enterprise.
Alguns dos destaques do GraalVM 22.0 incluem:
- O suporte ao Java 8 foi removido. O GraalVM 22.0 está direcionado apenas ao JDK 11 e JDK 17, com o suporte ao JDK 13/12/14/15/16 também sendo removido.
- Uma nova otimização para melhorar o desempenho na imagem nativa de um switch de tipo. Há também atualizações de imagem nativa para reduzir o tamanho da imagem.
- O Native Image melhorou o suporte para o Java Platform Module System.
- Várias novas otimizações do compilador Java, embora limitadas ao GraalVM Enterprise.
- Os recursos do ECMAScript 2022 agora estão habilitados por padrão para suporte a JavaScript do GraalVM.
- O LLVM Runtime do GraalVM mudou para a API Truffle Fame, tem novas otimizações e outras correções.
- Várias melhorias na implementação do WebAssembly do GraalVM.
Mais detalhes sobre o GraalVM 22 via GitHub. A Oracle também lançou o GraalVM 21.3.1 e o GraalVM 20.3.5.
Como instalar ou atualizar o GraalVM
A edição comunitária do GraalVM 22 da Oracle está disponível no GitHub, bem como as instruções de instalação.