GraalVM 21.0 lançado com JVM experimental no Truffle e mais

E foi lançado o GraalVM 21.0 com JVM experimental no Truffle, além de outros recursos e correções. Confira as novidades dessa atualização.

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 na terça-feira o GraalVM 21.0 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 21.0

GraalVM 21.0 lançado com JVM experimental no Truffle e mais
GraalVM 21.0 lançado com JVM experimental no Truffle e mais

Uma das adições notáveis ​​com GraalVM 21.0 é o suporte a Java on Truffle, como um exemplo de implementação JVM usando o interpretador Truffle.

O framework Truffle do GraalVM é uma biblioteca de código aberto para escrever interpretadores de linguagem de programação. Com o Java no Truffle, é da mesma natureza que JavaScript, Ruby, Python e R no ecossistema GraalVM.

Java on Truffle permite isolamento aprimorado da JVM host, executa bytecode Java em um contexto separado da JVM, executando no contexto de uma imagem nativa, mas com bytecode carregado dinamicamente permitido e outros recursos da estrutura Truffle.

Mais detalhes sobre a implementação do Java on Truffle através do manual GraalVM.

Além de GraalVM 21.0 adicionar Java experimental no Truffle, agora há suporte de serialização para Native Image, suporte AWT e Swing no Linux com Native Image, desempenho aprimorado de coleta de lixo NI, melhorias de compatibilidade com Python, suporte macOS Big Sur e desempenho sem fim otimizações.

Como instalar ou atualizar o GraalVM

A edição comunitária do GraalVM 21.0 da Oracle está disponível no GitHub, bem como as instruções de instalação.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.