Oracle lança Java 17 repleto de atualizações

.Apps/Softwares

Oracle lançou o Java 17, suporte de longo prazo do Java oferece milhares de atualizações, melhorando ainda mais a linguagem e a plataforma para ajudar na produtividade dos desenvolvedores, ainda traz aos clientes atualizações de segurança, desempenho e correção de bugs até setembro de 2029

A Oracle disponibilizou o Java 17, a versão mais recente da plataforma de desenvolvimento e linguagem de programação que é número um do mundo. 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.

Java 17 é o mais recente lançamento de suporte de longo prazo (LTS) sob a cadência de lançamento de seis meses do Java e é o resultado de uma ampla colaboração entre engenheiros da Oracle e outros membros da comunidade mundial de desenvolvedores Java, por meio da OpenJDK Community, e do Java Community Process (JCP). Desde o lançamento do JDK 11 LTS anterior há três anos, mais de 70 JEPs foram implementados.

Oferta de uma licença melhor

O Oracle JDK 17 e as versões futuras do JDK, têm como objetivo simplificar o licenciamento e os direitos do Java. Eles são fornecidos sob uma licença gratuita para uso até um ano inteiro após o lançamento do próximo lançamento, o LTS. A Oracle também planeja continuar fornecendo versões do Oracle OpenJDK sob a Licença Pública Geral de código aberto (GPL), como tem feito desde 2017.

Suporte de longo prazo para clientes

A Oracle 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, desejam 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.

Com o suporte da assinatura Oracle LTS e Java SE, os clientes podem migrar para o Java 17 no modo que melhor atenda às suas necessidades. A Oracle fornecerá aos clientes atualizações de segurança, desempenho e correção de bugs para Java 17 até pelo menos setembro de 2029.

“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

Java é uma das plataformas de desenvolvimento de maior sucesso de todos os tempos e é construída com base em inovações contínuas que atendem às necessidades em evolução dos desenvolvedores. Para 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.

O Java Management Service oferece aos clientes visibilidade de suas implantações Java em toda a empresa. Isso abrange todas as versões do Java instaladas em seu ambiente, incluindo versões do Java em execução no desenvolvimento e na produção. Ele também destaca todos os aplicativos Java não planejados em execução e verifica se todas as versões instaladas estão atualizadas com os patches de segurança mais recentes.

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

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 torna mais fácil 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.

Suporte para nova plataforma

• JEP 391 : macOS AArch64 Port – Portas do JDK para a plataforma macOS / AArch64. Esta porta permitirá que os aplicativos Java sejam executados nativamente nos novos computadores Apple Silicon baseados no Arm 64.

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, mas não para remoção, 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 por meio 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.

Recursos adicionais

• Baixe o Oracle JDK 17

• Leia o blog técnico do Java 17

• Assista ao Oracle Developer Live: Java Innovations

• Saiba mais sobre o lançamento de disponibilidade geral do OpenJDK 17

• Saiba mais sobre o Java Management Service

• Saiba mais sobre a assinatura do Oracle Java SE

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.