Java 14.

https://nakatech.herokuapp.com/img/works/20200404/index.jpg

Dia 17 de Março de 2020 foi a data de lançamento do novo Oracle jdk 14.

O lançamento conta com 11 novas capacidades que podem ser do tipo Standard, Preview ou Incubator.

O tipo Standard é a capacidade que será realmente incorporada a versão.

Já o tipo Preview é uma prévia de uma capacidade que pode ser incorporada a versão dependendo dos feedback’s recebidos.

E o tipo Incubator é um tipo de capacidade que é incorporada de forma experimental e ainda está sendo trabalhada com melhorias.

Além de features que eram do tipo Preview na versão 12 e 13 que nessa versão 14 serão oficialmente incorporadas.

Novas Capacidades.

Vamos apresentar as 11 capacidades que foram liberadas para a versão 14 do Java:

  1. JEP 305: Pattern Matching for instanceof (Preview): Essa capacidade melhora os padrões do Java de matching do instanceof;
  2. JEP 343: Packaging Tool (Incubator): Capacidade que empacotar aplicações Java e disponibilizar para Sistemas Operacionais específicas;
  3. JEP 345: NUMA-Aware Memory Allocation for G1: Uma melhora geral no Garbage Collector G1 non-uniform memory access (NUMA);
  4. JEP 349: JFR Event Streaming: Expõe os dados JDK Flight Recorder (JFR) para monitoração contínua;
  5. JEP 352: Non-Volatile Mapped Byte Buffers: Adicionado modo de mapeamento de arquivo para memória não volátil;
  6. JEP 358: Helpful NullPointerExceptions: Melhora a rastreabilidade quando ocorre um NullPointerExceptions;
  7. JEP 359: Records (Preview): Capacidade que melhora e diminui linhas de código na sintaxe;
  8. JEP 361: Switch Expressions (Standard): As capacidades de Switch que eram Preview na versão 12 e 13 foram incorporadas nesta versão;
  9. JEP 368: Text Blocks (Second Preview): Capacidade que visa melhorar a escrita de String’s muito grande;
  10. JEP 364: ZGC on macOS e JEP 365: ZGC on Windows: Inclusão do ZGC para Windows e Mac;
  11. JEP 370: Foreign-Memory Access API (Incubator): Uma API que permite o Java acessar de forma segura e eficiente a foreign memory.

 

Conclusão.

Seguindo o cronograma de 6 meses, a Oracle entrega outra Release do Java(Java 14) com ajuda da comunidade, melhorando as capacidades através de feedback’s mais rápidos.

Java 13.

O Java 13 foi lançado em Setembro de 2019, conforme as regras de lançamento a cada 6 meses.

Obedecendo a regra de lançamento, teremos 2 versões anuais, 1 em Março e outro em Setembro.

Essa foi uma forma de liberar novas capacidades de forma rápida aos desenvolvedores.

Nessa versão 13 da Jdk, foram liberados 5 novas capacidades ou JEP (Java Enhacement Proposal).

Algumas das novidades foram melhorias de capacidades liberados nas versões anteriores.

Novidades Java 13.

Como falamos anteriormente, foram 5 alterações nessa nova versão.

Seguem as alterações:

  1. JEP 350 Dynamic CDS Archives: essa feature foi melhorada a performance do Class Data Sharing (CDS) que foi introduzido no Java 10;
  2. JEP 351 ZGC Uncommit Unused Memory: na versão anterior o GC não retornava a memória heap não utilizada para o sistema operacional, na versão 13 essa melhoria foi introduzida;
  3. JEP-353 Reimplement the Legacy Socket API: as versões anteriores da API de Socket tinham uma implementação um pouco complicado, a nova implementação simplifica o uso e é compatível com as novas extensões;
  4. JEP-354 Switch Expressions: as expressões adicionadas ao Switch no Java 12 como a utilização da condição OR, retornar o valor diretamente no break, utilização de Arrow functions foram mantidos, a novidade foi a introdução da palavra reservada yield para retornar o valor;
  5. JEP-355 Text Blocks: introdução da feature multi-line string literal, onde podemos dispensar a utilização de escapes.

Observação: as features Jep-354 e Jep-355 ainda são do tipo Preview, para ativar precisamos adicionar os parâmetros: javac –enable-preview –release e java –enable-preview.

Conclusão.

As novas releases semestrais estão facilitando a vida do desenvolvedor e da própria Oracle que recebem o feedback mais rápido para corrigir nos próximos releases.