Recentemente, a empresa norte-americana Oracle Corporation, anunciou a versão 17 LTS do java, a versão mais recente da sua plataforma de desenvolvimento e linguagem de programação. O Java 17, oferece milhares de atualizações de desempenho, estabilidade e segurança, bem como 14 JEPs (JDK Enhancement Proposals) que melhoram ainda mais a linguagem e a plataforma Java para ajudar os desenvolvedores a serem mais produtivos, segundo a empresa.

oracle 1

Oferecendo uma licença melhor 

Simplificar o licenciamento e os direitos do Java, é o objetivo do Oracle JDK 17 e as versões futuras do JDK. Eles são fornecidos sob uma licença gratuita para uso de até um ano após o lançamento da próxima versão LTS. Além disso, a Oracle planeja continuar fornecendo versões do Oracle OpenJDK sob a Licença Pública Geral de código aberto (GPL), como faz desde 2017.

Suporte de longo prazo para clientes aprimorado

Segundo a Oracle, a empresa está colaborando com a comunidade de desenvolvedores Java e o JCP no aprimoramento do agendamento LTS para dar às organizações mais flexibilidade sobre quando, ou se, desejarem migrar para uma versão mais recente do Java LTS. A Oracle está propondo que o próximo lançamento do LTS seja o Java 21 e planeja disponibilizá-lo em setembro de 2023, o que mudará a cadência do lançamento do LTS de três para dois anos.

“Nos últimos três anos, ouvimos o quanto os desenvolvedores amam os recursos mais recentes e vimos o ecossistema realmente abraçar a cadência de lançamento de seis meses”, disse Georges Saab, vice-presidente de desenvolvimento do Java Platform Group da Oracle. “Um dos maiores desafios que os desenvolvedores Java enfrentam hoje é que, sua organização, só permite que eles usem a versão mais recente do LTS. Ao mover as versões do LTS a cada dois anos, os desenvolvedores que trabalham com organizações conservadoras agora têm mais opções e acesso aos recursos que amam e desejam usar.”

“A Oracle está fazendo mudanças que irão beneficiar significativamente a comunidade Java, mudando os lançamentos de suporte de longo prazo para  uma cadência de dois anos e introduzindo uma nova licença mais flexível, que fornece uso de produção gratuita do Oracle JDK por um período  prolongado”, disse o Dr. Arnal Dayaratna, vice-presidente de pesquisa e Desenvolvimento de Software da IDC. “Essas mudanças darão às organizações  maior flexibilidade no gerenciamento da complexidade do desenvolvimento e implantações de aplicativos modernos na nuvem, no local e em ambientes híbridos”

Acelerando a adesão do Java na nuvem

Com o intuito de acelerar a adesão do Java na nuvem, a Oracle introduziu recentemente o Oracle Java Management Service, um novo serviço nativo da Oracle Cloud Infrastructure (OCI) para ajudar as organizações a gerenciar os tempos de execução e aplicativos Java no local ou em qualquer nuvem.

SL 101820 36860 11

Sobre o JDK 17

O JKD 17, inclui alguns novos aprimoramentos de linguagem, suporte para novos computadores Apple, atualizações para as bibliotecas, remoções e depreciações de recursos legados, trabalhando também para ajudar a garantir que o código Java escrito hoje, continue funcionando sem alterações nas versões futuras do JDK. Ele também oferece uma visualização de recursos de linguagem e APIs de incubação para reunir feedback da comunidade Java.

Aprimoramento da linguagem Java

  • JEP 409: Classes seladas – Classes e interfaces seladas restringem outras classes ou interfaces que podem estendê-las ou implementá-las. Esse aprimoramento é mais um aprimoramento do Projeto Amber, que visa aumentar a produtividade do desenvolvedor por meio da evolução da linguagem Java.

Atualizações e melhorias para bibliotecas

  • JEP 306: Restaure a semântica de ponto flutuante Always-Strict – A linguagem de programação Java e a máquina virtual Java, originalmente tinham apenas semântica de ponto flutuante estrita. A partir do Java 1.2, pequenas variações nessas semânticas estritas foram permitidas por padrão para acomodar as limitações das arquiteturas de hardware atuais. Essas variações não são mais úteis ou necessárias, por isso foram removidas pelo JEP 306.
  • JEP 356: Gerador de número pseudo-aleatório aprimorado – Fornece novos tipos de interface e implementações para geradores de número pseudo-aleatório (PRNGs). Essa mudança melhora a interoperabilidade de diferentes PRNGs e facilita solicitar um algoritmo com base em requisitos, em vez de codificar uma implementação específica.
  • JEP 382: Novo pipeline de renderização do macOS – Implementa um pipeline Java 2D para macOS usando a API Apple Metal. O novo pipeline reduzirá a dependência do JDK na API Apple OpenGL obsoleta.

Remoções e depreciações

  • JEP 398: descontinuar a API do miniaplicativo para remoção – Todos os fornecedores de navegadores da web removeram o suporte para plug-ins de navegador Java ou anunciaram planos para iniciarem a solução. A API Applet foi descontinuada no Java 9 em setembro de 2017.
  • JEP 407: Remove RMI Activation – Remove o mecanismo de ativação de Remote Method Invocation (RMI), preservando o resto do RMI.
  • JEP 410: Remova o AOT experimental e o compilador JIT – O compilador experimental baseado em Java (AOT) e just-in-time (JIT) foram recursos experimentais que não tiveram muita adoção. Por serem opcionais, eles já foram removidos do JDK 16. Este JEP remove esses componentes do código-fonte do JDK.
  • JEP 411: Obsoleta o Security Manager para Remoção – O Security Manager remonta ao Java 1.0. Não foi o principal meio de proteger o código Java do lado do cliente por muitos anos e, raramente, foi usado para proteger o código do lado do servidor. Removê-lo em uma versão futura ajudará a eliminar uma carga de manutenção significativa e permitirá que a plataforma Java avance.

Programas Java de Prova Futura

  • JEP 403: Encapsular fortemente JDK internos – Não será mais possível relaxar o forte encapsulamento de elementos internos através de uma única opção de linha de comando, como era possível no JDK 9 ao JDK 16. Ainda será possível acessar os APIs internos existentes, mas agora exigirá enumerar, como parâmetros de linha de comando ou atributos de manifesto de arquivo JAR, cada pacote para o qual o encapsulamento deve ser relaxado. Essa mudança levará a aplicativos mais seguros e menos dependências de detalhes de implementação JDK internos que não são padrão.

Visualizações e incubadoras para versões posteriores do JDK

  • JEP 406: Correspondência de padrões para switch (visualização) – Permite que uma expressão seja testada em vários padrões, cada um com uma ação específica, de forma que consultas complexas orientadas a dados, possam ser expressas de forma concisa e segura.
  • JEP 412: Função externa e API de memória (incubadora) – melhora as APIs de incubação introduzidas no JDK 14 e JDK 15 que permitem que programas Java interoperem com código e dados fora do tempo de execução Java. Invocando com eficiência funções externas (ou seja, código fora da JVM) e acessando com segurança a memória externa, essas APIs permitem que os programas Java chamem bibliotecas nativas e processem dados nativos sem a fragilidade e complexidade da Java Native Interface (JNI). Essas APIs estão sendo desenvolvidas no Projeto Panamá, que visa melhorar a interação entre código Java e não Java.
  • JEP 414: API Vector (Segunda Incubadora) – Permite expressar cálculos vetoriais que compilam de forma confiável em tempo de execução para instruções vetoriais otimizadas em arquiteturas de CPU suportadas, alcançando, assim, um desempenho superior aos cálculos escalares equivalentes.

E você, utiliza o java? O que achou das novidades da versão 17 LTS?

Isso é tudo, pessoal. Abraços e até a próxima.


Newsletter Diolinux
Talvez Você Também Goste