Java 10 - Visão geral
O Java 10 é uma versão importante na cadência de lançamento do Java e foi lançado em 10 de março de 2018. Com o Java 10, a Oracle mudou a cadência de lançamento do Java para um novo modelo, uma cadência de lançamento de 6 meses e um modelo LTS para produtos Oracle Java SE. O modelo LTS significa modelo de suporte de longo prazo.
A partir do Java 10 em diante, a Oracle lança uma nova versão do Java a cada 6 meses, onde cada versão contém um ou dois recursos principais. A Oracle usa um conceito de trem de lançamento. Cada trem de lançamento está programado para 6 meses. Os recursos que são desenvolvidos dentro dessa linha do tempo são enviados na versão, caso contrário, os recursos são movidos para o próximo trem de lançamento.
Oracle JDK vs OpenJDK
A maioria dos binários do Oracle JDK são proprietários e licenciados pela Oracle e têm várias restrições de redistribuição. Enquanto o OpenJDK é mais amigável à comunidade de desenvolvedores. A partir do Java 10 em diante, a Oracle decidiu promover o OpenJDK como JDK principal para facilitar o desenvolvimento de Java baseado na comunidade. A Oracle continuará produzindo seus próprios JDKs, mas os lançará após 3 anos e os denominará como versão LTS. Portanto, os binários do OpenJDK serão lançados a cada seis meses.
O OpenJDK é amigável à nuvem e ao contêiner, pois pode ser distribuído gratuitamente como parte do contêiner. Assim, o movimento da Oracle para promover o OpenJDK torna o java mais amigável para o desenvolvimento e implantação de nuvem ou contêiner.
Java 9 e Java 10 são versões não LTS. A versão Java 11 é uma versão LTS.
Novos recursos
A seguir estão os principais novos recursos que são introduzidos no Java 10.
-
PEC 286 − Inferência de tipo de variável local
-
JEP 322 − Versionamento de lançamento baseado em tempo
-
JEP 304 − Interface do Coletor de Lixo
-
JEP 307 − GC Completo Paralelo para G1
-
JEP 316 − Alocação de Heap em Dispositivos de Memória Alternativos
-
PEC 296 − Consolidar o JDK Forest em um único repositório
-
JEP 310 − Compartilhamento de dados de classe de aplicativo
-
JEP 314 − Extensões de tags de idioma Unicode adicionais
-
PEC 319 − Certificados Raiz
-
JEP 317 − Compilador JIT Experimental Baseado em Java
-
JEP 312 − Handshakes locais de thread
-
JEP 313 − Remova a ferramenta de geração de cabeçalho nativo
-
PEC 319 − Certificados Raiz
-
PEC 319 − Certificados Raiz
O Java 10 aprimorou mais de 70 APIs com novos métodos e opções e removeu APIs e opções obsoletas. Veremos essas mudanças nos próximos capítulos.
Java