Lançado a versão 20.0.0 da GraalVM

Nessa terça feira dia 18/02/20, a equipe da GraalVM disponibilizou sua versão 20.0.0. Plataforma Poliglota, que compila seus programas em imagens nativas reduzindo drasticamente o tempo de start e o consumo de memória.

O que é a GraalVM?

A GraalVM é uma máquina virtual universal Open Source criada pela Oracle, que executa aplicativos escritos em JavaScript, Python, Ruby, R, linguagens que já rodam na JVM, como Java, Scala, Groovy, Kotlin, Clojure e linguagens baseadas em LLVM, como C e C ++.

A GraalVM remove o isolamento entre linguagens de programação e permite a interoperabilidade em um tempo de execução compartilhado. As imagens podem ser executadas standalone ou nos contextos do OpenJDK, Node.js ou Oracle Database. Essa interoperabilidade permite desenvolver em java e acessar funcionalidades de outras linguagens.

Abaixo, gráficos de tempo de start e utilização inicial de memória das imagens nativas compiladas pela GraalVM. Os programas foram desenvolvidos respectivamente com os frameworks voltados para microserviços Helidon, Micronaut e Quarkus.

Tempo de start de microserviços Java
Memória utilizada inicialmente com microserviços Java

O que mudou nessa nova versão?

A versão 20 aprimora significativamente os builds da GrallVM para plataforma Microsoft. O suporte permanece experimental, no entanto, as compilações realizadas no Windows, agora contêm o “gu”, que é um utilitário funcional para instalar os componentes. A Engine do JavaScript e o Node.js foram incluídas na distribuição voltada para Windows. O engine JavaScript foi atualizada e agora é compatível com Node.js 12.15.0. O toolchain agora é baseado na versão 9.0.0 do interpretador LLVM suportando novas libs.

Mais sobre a GraalVM

A GraalVM foi apresentada pela Oracle no meio de Abril de 2018 e a sua versão 1.0 foi lançada para Linux e Mac. Como dito anteriormente, já há a versão para plataforma windows, mas com suporte experimental.
Na versão atual, a Community Edition GraalVM é baseada no OpenJDK 1.8.0_242 e no OpenJDK 11.0.6. Já a Enterprise Edition é baseado no 1.8.0_241 e 11.0.6 do JDK.

Caso queira saber mais e começar a utilizar, acesse https://www.graalvm.org/

Lançado a release 4.1.2 do Apache POI

Ontem foi disponibilizado a release 4.1.2 do Apache POI, um dos frameworks mais utilizados na plataforma java para trabalhar com documentos Microsoft Office.

O Apache POI é um framework que fornece bibliotecas Java para leitura e gravação de arquivos em vários formatos baseados no Open Office XML e OLE (Object Linking and Embedding) da Microsoft. Abaixo alguns dos formatos e seus respectivos componentes presentes no POI:

Componente Tipo de formato
POIFS (Poor Obfuscation Implementation File System) Sistema de arquivos OLE2
HPSF (Horrible Property Set Format) Conjuntos de propriedades OLE2
HSSF (Horrible SpreadSheet Format) Excel XLS
XSSF (XML SpreadSheet Format) Excel XLSX
HSLF (Horrible Slide Layout Format) PowerPoint PPT
XSLF (XML Slide Layout Format) PowerPoint PPTX
HWPF (Horrible Word Processor Format) Word DOC
XWPF (XML Word Processor Format) Word DOCX

A release 4.1.2 lançada ontem apresenta melhor suporte a gráficos no XDDF, várias correções de renderização nos módulos SL / EMF comuns e OOM ao manipular índices de slides arbitrários no XSLF (+ uma nova dependência do SparseBitSet 1.2). Várias dependências também foram atualizadas para suas versões mais recentes para detectar correções de segurança e outras melhorias.

A primeira versão do Apache POI foi lançada em agosto de 2001 e hoje está na release 4.1.2, versão que foi lançado ontem 17/02/2020. Desde de sua versão 4.0.1, o POI requer no minimo Java 8 e com pequenas ressalvas, pode trabalhar com o Java 11.

Maiores informações e documentação completa podem ser encontradas no site https://poi.apache.org/

O que rolou na última semana de maio de 2019 nos meetups de Java?

Na última semana de maio de 2019 tivemos meetups de Java presencial e online. Abaixo os que temos vídeos.

Começando pelos presenciais, na quinta-feira a galera do São Paulo Java Meetup se reuniu na ClickBus, e o Rodrigo Peleias falou sobre “Vida de Desenvolvedor: O que é importante para nós”.

Logo após, o André Ignacio trouxe a excelente palestra sobre “Project Reactor o Core do Spring Webflux”.

Referente aos eventos online, tivemos na quinta-feira pelo SouJavaAriane Izac e a Alessandra Kajihara falando sobre “Legibilidade de código não é perfumaria”.

Já na sexta-feira, o Luram Archanjo falou sobre “Micronaut: Mudando a maneira como construímos microservices”, além de apresentar o GraalVM e como a ferramenta trabalha junto ao Micronaut.

Quer participar desses meetups presenciais e online? Se inscreva nos São Paulo Java Meetup e SouJava.

Quer contribuir palestrando? Os organizadores vão amar conversar com você.