A Oracle lança o Java 20, a versão mais recente da linguagem de programação e plataforma de desenvolvimento número um do mundo. O Java 20 (Oracle JDK 20) chega com milhares de melhorias em desempenho, estabilidade e segurança, incluindo aprimoramentos que ajudarão os desenvolvedores a aumentarem a produtividade e impulsionarem a inovação, bem como crescimento em suas empresas. A Oracle apresenta os recursos mais recentes do Java 20 durante o Java Developer Day que acontece durante o evento Oracle DevLive Level Up, entre os dias 20 e 23 de março, em Redwood Shores, Califórnia, e online.
“Por mais de 25 anos, Java permitiu que os desenvolvedores projetassem e desenvolvessem aplicações robustas, escaláveis, seguras de última geração,” disse Georges Saab, vice-presidente sênior de Desenvolvimento da Plataforma Java na Oracle e presidente do Conselho de Administração do OpenJDK. “As melhorias inovadoras no Java 20 refletem a visão e os esforços inestimáveis da comunidade global do Java durante toda a existência dessa linguagem. Com o suporte contínuo fornecido pela liderança em tecnologia Java na Oracle, junto à comunidade, o Java se tornou tão relevante quanto uma linguagem e plataforma contemporâneas que ajudam os desenvolvedores.”
Oracle lança o Java 20
O recém Java Development Kit (JDK) conta com atualizações e melhorias com sete JDK Enhancement Proposals (JEPs). Grande parte das atualizações traz recursos de acompanhamento com novas funcionalidades das versões anteriores.
O JDK 20 traz melhorias à linguagem do projeto Amber da OpenJDK (Record Patterns e Pattern Matching for Switch); no do Projeto Panama da OpenJDK para interconexão com a Java Virtual Machine (JVM) e códigos nativos (Funções Estrangeiras, API de memória e de vetores); além de recursos relacionados ao Projeto Project Loom (Scoped Values, Virtual Threads e Structured Concurrency), que simplificarão o processo de escrita, manutenção sobre aplicações adjacentes concorrentes de alto rendimento.
“Atualmente, as empresas enfrentam muita pressão para usar seus recursos com a maior eficiência possível. Toda essa pressão para os desenvolvedores que precisam procurar ferramentas que simplifiquem o desenvolvimento, permite as empresas alcançarem os objetivos de segurança e conformidade de TI”, disse Eric Hanselman, analista chefe, TMT, S&P Global Market Intelligence. “Os líderes em transformação digital destacam que estão mais focados em acelerar o tempo de comercialização1, e ganhar agilidade com ferramentas que podem ampliar as iniciativas de desenvolvimento de aplicações da empresa.”
A Oracle disponibiliza novos recursos de lançamento do Java a cada seis meses por meio de uma programação de lançamento previsível. Essa cadência fornece um fluxo constante de inovações ao mesmo tempo que traz melhorias contínuas no desempenho, estabilidade e segurança da plataforma, ajudando a aumentar a difusão da linguagem em organizações e setores de todos os tamanhos.
As atualizações mais relevantes do Java 20:
Melhorias e atualizações na linguagem
JEP 432: Record Patterns (segunda visualização): melhora a linguagem Java permitindo que os usuários alinhem os padrões de registros e de tipos para criarem formulários de navegação e processamento de dados poderosos, declarativos e compostos. Isso ajuda a aumentar a produtividade do desenvolvedor, permitindo que eles ampliem a correspondência de padrões e deixem as consultas de dados ainda mais compostas e sofisticadas;
JEP 433: Pattern Matching for Switch (quarta visualização): estende a correspondência de padrões para switch e permite que uma expressão seja testada em vários padrões, cada um com uma ação específica, para que consultas complexas orientadas a dados possam ser expressas de forma concisa e segura. Expandir a expressividade e a aplicabilidade de expressões e instruções switch ajuda a aumentar a produtividade do desenvolvedor.
Recursos de visualização/Incubação do Projeto Loom
JEP 429: Scoped Values (incubadora): permite o compartilhamento de dados imutáveis dentro e entre threads, comportamento padrão para variáveis thread-local, especialmente quando existe uma grande quantidade de threads virtuais. Isso resulta em maior facilidade, compreensão, robustez e desempenho;
JEP 436: Virtual Threads (segunda visualização): simplifica significativamente o processo de escrita, manutenção e observação de aplicações sobre aplicações adjacentes concorrentes de alto rendimento, através de threads virtuais à plataforma do Java. As threads virtuais ajudam a acelerar o desenvolvimento de aplicações, permitindo que os desenvolvedores resolvam problemas, depurem e perfilem aplicações concorrentes rapidamente com as ferramentas e técnicas já existentes no JDK;
JEP 437: Structured Concurrency (segunda incubadora): simplifica a programação multithread, tratando diversas tarefas executadas em threads diferentes como se fossem uma única unidade de trabalho. Isso ajuda as equipes de desenvolvimento a simplificarem o tratamento e cancelamento de erros, melhorando a confiabilidade e observabilidade.
Recursos de visualização do Projeto Panama
JEP 434: Foreign Function & Memory API (segunda visualização): permite que os programas em Java interoperem com códigos e dados de fora do ambiente de execução do Java. Ao invocar eficientemente funções estrangeiras (ou seja, código fora da Java Virtual Machine [JVM]) e ao acessar com segurança a memória estrangeira (ou seja, memória não gerenciada pela JVM), esse recurso permite que programas Java chamem bibliotecas nativas e processem dados nativos sem exigir a Java Native Interface. Isso aumenta a segurança, desempenho e a facilidade de uso;
JEP 438: Vector API (quinta incubadora): expressa o processamento de vetores que se compilam com segurança no ambiente de execução de acordo com as instruções do vetor sobre arquiteturas de CPU suportadas. Isso aumenta o desempenho com relação aos processamentos escalares equivalentes.
A versão Java 20 é o resultado de uma ampla colaboração entre engenheiros da Oracle e membros da comunidade mundial de desenvolvedores Java por meio do OpenJDK e do Java Community Process (JCP). Além de novos aprimoramentos, o Java 20 é suportado pelo Java Management Service — um serviço nativo da Oracle Cloud Infrastructure (OCI) — que fornece um único painel de visualização para ajudar as organizações a gerenciar os tempos de execução e aplicações Java on-premises ou em qualquer nuvem.
Suporte aos usuários e ecossistema global do Java
A Assinatura Universal do Oracle Java SE é uma oferta pré-paga que oferece aos clientes o melhor suporte, incluindo o de triagem para todo o seu portfólio em Java, com direito ao GraalVM Enterprise, ao Java SE Subscription Enterprise Performance Pack, acesso a recursos avançados do Java Management Service, além da flexibilidade de atualização conforme o crescimento dos negócios.
Isso ajuda as empresas de TI a gerenciar a complexidade, conter custos e mitigar riscos de segurança. Além disso, Oracle Java SE, GraalVM Enterprise e Java SE Subscription Enterprise Performance Pack estão disponíveis gratuitamente na Oracle Cloud Infrastructure, permitindo que os desenvolvedores criem e implementem aplicativos que funcionam mais rápido, melhor e com custo-benefício imbatível na Oracle Cloud.