BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias GraalVM 19.0: lançada a esperada versão GA

GraalVM 19.0: lançada a esperada versão GA

Depois de mais de um ano com várias versões candidatas lançadas, começando com a versão 1.0 RC1 de abril/2018, a Oracle lançou a esperada versão GA do GraalVM 19.0, a máquina virtual e plataforma poliglota criada pela Oracle Labs. Os recursos adicionados nas versões RC no ano passado incluem a migração do agora obsoleto engine do Nashorn (JEP 335) para o GraalVM; a integração com a biblioteca Python numpy; e um interpretador LLVM no modo gerenciado. Além disso, traz o libgraal, compilador para o GraalVM que pode ser implementado como imagem nativa através do SubstrateVM. A Oracle Labs também apresentou a release do GraalVM Enterprise Edition.

O GraalVM é composto pelo Graal, um compilador just-in-time escrito em Java; o SubstrateVM, uma estrutura que permite a compilação antecipada de aplicativos Java em imagens executáveis; e o Truffle, um kit de ferramentas de código aberto, incluindo uma API para construção de interpretadores de linguagens.

Os principais componentes do GraalVM 19.0 são:

  • Uma JVM HotSpot compatível com o OpenJDK 1.8.0_212.
  • O NodeJS 10.15.2, com recursos poliglotas;
  • Um mecanismo (engine) JavaScript, compatível com ECMAScript 2019, como substituto ao Rhino e o agora obsoleto Nashorn. A Oracle Labs oferece uma Guia de migração descrevendo as diferenças entre o GraalVM e o Nashorn;
  • Um runtime para o LLVM versão 6.0;
  • O atualizador do GraalVM, chamado gu: utilitário que faz o download de componentes não incluídos na distribuição principal do GraalVM, como o Native Image e o suporte a Python, Ruby e R.

O utilitário de Native Image foi incluído nas distribuições de versões RC do GraalVM, mas foi separado na versão 19.0 do GraalVM, exigindo instalação separada usando o utilitário gu. O gu funciona de maneira semelhante a outros gerenciadores de pacotes, como o SDK Man e o Homebrew. Para instalar o Native Image ou o Python, por exemplo, deve-se usar:

    
$ gu install native-image
$ gu install python
    

Por ser uma versão estável, a Oracle Labs alterou o número de versão do GraalVM de 1.0 RCxx para 19.x, refletindo também o ano do release principal, que incluirá atualizações periódicas. Detalhes sobre todos os novos recursos do GraalVM podem ser encontrados no histórico de versões.

GraalVM Enterprise Edition

O GraalVM Enterprise Edition foi criado para aplicativos de missão crítica em produção, contexto em que o desempenho, a segurança e a escalabilidade são especialmente necessários. Os benefícios oferecidos pelo Enterprise Edition, com relação ao Community Edition, segundo a Oracle, incluem melhor desempenho e menor consumo de memória; recursos de sandboxing para código nativo; e opções de suporte comercial.

Os algoritmos de otimização incorporados no GraalVM Enterprise oferecem, ainda, melhoria de 20% no desempenho, através de uma reorganizanção do código compilado nativamente.

Abaixo, é mostrada a arquitetura do GraalVM Enterprise, extraída do post da Oracle referido anteriormente.

O manual de referência do GraalVM é um bom ponto de partida para desenvolvedores interessados ​​em usar a tecnologia em suas aplicações em Java (e em outras linguagens da JVM), além de JavaScript, Python, Ruby e R. A Oracle também publicou uma apresentação sobre o gerenciamento seguro e eficiente de memória híbrida para Java, em que discute detalhes sobre a arquitetura do Truffle, o modelo de execução do SubstrateVM e a funcionalidade de microbenchmarking.

O GraalVM pode ser integrado com frameworks de microsserviços Java/JVM, como MicronautHelidonQuarkus.

Referências

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT