Competitividade

Oracle lança Java 23

Oracle lança Java 23
Imagem: Freepik

A Oracle anunciou hoje a disponibilidade do Java 23, a mais recente versão da linguagem de programação e plataforma de desenvolvimento número um do mundo. O Java 23 (Oracle JDK 23) traz milhares de melhorias para ajudar os desenvolvedores a aumentar a produtividade e impulsionar a inovação, enquanto as melhorias no desempenho, estabilidade e segurança da plataforma ajudam as organizações a acelerar o crescimento dos negócios. 

“O Java continua a evoluir para apoiar as necessidades de desenvolvimento de aplicações modernas cada vez mais diversas das organizações”, disse Arnal Dayaratna, vice-presidente de pesquisa em desenvolvimento de software da IDC. “O novo lançamento permite que os desenvolvedores ampliem seu conjunto de ferramentas e aumentem sua produtividade, ajudando-os a criar e entregar aplicações que aproveitam o poder de tecnologias inovadoras, como IA. Ao entregar novas capacidades inovadoras a cada seis meses, o Java continua a ajudar as equipes de desenvolvimento a agregar valor significativo às suas organizações.” 

Além das novas melhorias e recursos para desenvolvedores, o Java 23 oferece valor significativo para suas organizações. Por exemplo, o Java 23 é suportado pelo recente GA do Java Management Service (JMS) 9.0, um serviço nativo da Oracle Cloud Infrastructure (OCI) que fornece um console unificado e um painel para ajudar as organizações a gerenciar ambientes de execução e aplicações Java no local ou em qualquer nuvem. Além disso, o JMS 9.0 oferece muitas melhorias na usabilidade, e o Oracle JDK 23 oferece mais opções para ajustar e melhorar o desempenho máximo com a adição do compilador Graal, um compilador dinâmico just-in-time (JIT) escrito em Java que transforma bytecode em código de máquina otimizado. 

“As novas funcionalidades do Java 23 ajudam desenvolvedores de todos os níveis de experiência a aumentar sua produtividade e simplificar o desenvolvimento de aplicações de alto desempenho, seguras e escaláveis”, disse Georges Saab, vice-presidente sênior da Oracle Java Platform e presidente do conselho de governança do OpenJDK. “Com uma ampla gama de novos recursos e ferramentas projetados para ajudar os desenvolvedores a construir e entregar aplicações mais rapidamente e de forma mais eficiente, o Java 23 ajuda as equipes de desenvolvimento e suas organizações a impulsionar a inovação e promover o crescimento dos negócios.” 

O Java 23 traz melhorias e aprimoramentos para a linguagem Java, runtime, bibliotecas e as ferramentas incluídas no Java Development Kit (JDK). As atualizações significativas entregues no Java 23 são:

Recursos da Linguagem via Projeto Amber

  • JEP 455Tipos Primitivos em Padrões, instanceof e switch (Preview): Ajuda a aumentar a produtividade na programação em Java tornando a linguagem mais uniforme e expressiva. Ao ajudar a remover restrições relacionadas a tipos primitivos que os desenvolvedores encontram ao usar pattern matching, instanceof e switch, melhora o pattern matching permitindo padrões de tipo primitivo em todos os contextos de padrão, além de estender instanceof e switch para trabalhar com todos os tipos primitivos.
  • JEP 476Declarações de Importação de Módulo (Preview): Ajuda os desenvolvedores a melhorar a produtividade ao permitir a importação rápida e fácil de todos os pacotes exportados por um módulo, sem exigir que o código de importação esteja no próprio módulo. Isso simplifica o reuso de bibliotecas modulares para todos os desenvolvedores e ajuda iniciantes a usar mais facilmente bibliotecas de terceiros e classes Java fundamentais sem precisar aprender onde elas estão localizadas em uma hierarquia de pacotes.
  • JEP 477Classes Implicitamente Declaradas e Métodos Instance Main (Third Preview): Ajuda a acelerar o aprendizado e o desenvolvimento de habilidades oferecendo uma introdução suave à programação em Java, permitindo que estudantes escrevam seus primeiros programas sem precisar entender recursos da linguagem projetados para programas grandes. Como resultado, educadores e instrutores podem introduzir conceitos gradualmente, e os alunos podem escrever declarações simplificadas para programas de uma única classe e expandir seus programas com recursos mais avançados conforme suas habilidades crescem. Além disso, desenvolvedores experientes podem escrever pequenos programas de forma concisa sem precisar usar ferramentas projetadas para projetos maiores.
  • JEP 482Flexible Constructor Bodies (Second Preview): Ajuda os desenvolvedores a aumentar a produtividade ao permitir que declarações apareçam antes de uma invocação explícita do construtor – como super(..) ou this(..). As declarações não podem referenciar a instância em construção, mas podem inicializar seus campos antes de invocar outro construtor, o que torna uma classe mais confiável quando métodos são sobrescritos. Isso oferece aos desenvolvedores maior liberdade para expressar o comportamento dos construtores e preserva a garantia existente de que os construtores são executados em ordem de cima para baixo durante a instanciação da classe.

Bibliotecas

  • JEP 466: API de Arquivo de Classe (Second Preview): Ajuda os desenvolvedores a melhorar a produtividade ao fornecer uma API padrão para análise, geração e transformação de arquivos de classe Java.
  • JEP 469: Vector API (Eighth Incubator): Ajuda os desenvolvedores a melhorar a produtividade ao introduzir uma API para expressar cálculos vetoriais que se compilam de forma confiável em instruções vetoriais em arquiteturas de CPU suportadas. Como resultado, os desenvolvedores podem alcançar um desempenho superior ao de cálculos escalares equivalentes.
  • JEP 473: Stream Gatherers (Second Preview): Ajuda os desenvolvedores a melhorar a produtividade ao aprimorar a API de Streams para suportar operações intermediárias personalizadas, permitindo que pipelines de streams transformem dados de maneiras que não são facilmente alcançadas com operações intermediárias incorporadas existentes. Ao tornar os pipelines de streams mais flexíveis e expressivos e permitir operações intermediárias personalizadas para manipular streams de tamanho infinito, esse recurso permite que os desenvolvedores se tornem mais eficientes na leitura, escrita e manutenção de código Java.
  • JEP 480: Structured Concurrency (Third Preview): Ajuda os desenvolvedores a melhorar a manutenibilidade, confiabilidade e observabilidade do código multithreaded ao simplificar a programação concorrente por meio de uma nova API para concorrência estruturada. Ao consolidar grupos de tarefas relacionadas executadas em diferentes threads em uma única unidade de trabalho, a concorrência estruturada pode ajudar a eliminar riscos comuns decorrentes de cancelamento e desligamento, como vazamentos de threads e atrasos de cancelamento.
  • JEP 481: Scoped Values (Third Preview): Ajuda os desenvolvedores a aumentar a facilidade de uso, compreensibilidade, desempenho e robustez de seus projetos ao permitir o compartilhamento de dados imutáveis dentro e entre threads.

Atualizações de Desempenho e Runtime

  • JEP 474: ZGC: Modo Generacional por Padrão: Ajuda os desenvolvedores a aumentar a eficiência ao mudar o modo padrão do Z Garbage Collector (ZGC) para o modo generacional, que reduz os recursos e custos de manutenção necessários para suportar dois modos diferentes.

Ferramentas

  • JEP 467: Comentários de Documentação Markdown: Ajuda os desenvolvedores a aumentar a eficiência e produtividade ao permitir que comentários de documentação Javadoc sejam escritos em Markdown em vez de apenas em HTML e tags Javadoc @. Ao permitir o uso da sintaxe Markdown em comentários de documentação junto com elementos HTML e tags JavaDoc, os desenvolvedores podem escrever e ler mais facilmente comentários de documentação de API em forma de código-fonte sem impactar negativamente a interpretação dos comentários de documentação existentes.

Gestão

  • JEP 471: Deprecate the Memory-Access Methods in sun.misc.unsafe for Removal: Oferece aos desenvolvedores um conjunto de ferramentas mais simplificado ao ajudar a entender quando suas aplicações dependem, direta ou indiretamente, dos métodos de acesso à memória em sun.misc.Unsafe, que está previsto para remoção em uma versão futura.

Os recursos da versão Java 23 são resultado de uma colaboração contínua e estreita entre a Oracle e outros membros da comunidade global de desenvolvedores Java através do OpenJDK e do Java Community Process (JCP). Para mais detalhes sobre os recursos do Java 23, leia o post técnico do blog do Java 23.
 

Apoiando a Comunidade Global Java com Inovação na Nuvem 

O Java oferece maior desempenho, eficiência, economia de custos e inovação quando implantado no OCI, que é uma das primeiras nuvens hyperscale a suportar o Java 23. Ao fornecer Oracle Java SE, Oracle GraalVM e o Java SE Subscription Enterprise Performance Pack sem custo adicional no OCI, o Java 23 ajuda os desenvolvedores a construir e implantar aplicações que funcionam mais rápido, melhor e com custo-desempenho otimizado. 

Oracle Java Universal SE Subscription é uma oferta que proporciona aos clientes suporte de classe mundial. Inclui suporte de triagem para todo o portfólio Java, direito ao Oracle GraalVM, o Java SE Subscription Enterprise Performance Pack, sem custo adicional na OCI, o Java 23 ajuda os desenvolvedores a criar e implantar aplicações que funcionam mais rápido, melhor e com custo-desempenho otimizado. 

A Oracle Java Universal SE Subscription é uma oferta que proporciona aos clientes suporte de classe mundial. Inclui suporte de triagem para todo o portfólio Java, direito ao Oracle GraalVM, ao Java SE Subscription Enterprise Performance Pack, acesso aos recursos avançados do JMS e a flexibilidade para atualizar conforme o ritmo dos negócios dos clientes. Isso ajuda as organizações de TI a gerenciar a complexidade, mitigar riscos de segurança e conter custos. 

Além disso, a Oracle anunciou recentemente no Oracle CloudWorld que o Oracle Code Assist será inicialmente otimizado para Java. O Oracle Code Assist é um assistente de código baseado em IA que facilita a criação de aplicações Java, e o serviço Oracle Code Assist rodando no OCI também estará disponível para C, C++, Go, JavaScript, PL/SQL, Python, Ruby e Rust.
 

JavaOne Retorna em 2025  

O evento principal da comunidade global Java, JavaOne, está retornando à área da baía de São Francisco em 2025. Ocorrendo de 18 a 20 de março de 2025 em Redwood Shores, Califórnia, o JavaOne 2025 dará aos participantes a oportunidade de ouvir sobre os mais recentes desenvolvimentos do Java e interagir com os especialistas em Java da Oracle e com luminares da indústria. Leia mais no post do blog Inside Java aqui, e se você estiver interessado em apresentar no JavaOne, encontre os call for papers aqui.
 

Citações de Apoio  

“O desenvolvimento ágil ajuda a garantir o alinhamento com as necessidades dos clientes por meio de ciclos de feedback, e o Java oferece a agilidade que os desenvolvedores precisam,” disse Venkat Subramanian, presidente da Agile Developer, Inc. “Entre tantas funcionalidades valiosas no Java 23, estou particularmente impressionado com a evolução dos coletadores de streams. É um recurso incrivelmente útil para criar etapas personalizadas em um pipeline de desenvolvimento de código funcional para que você possa atender às necessidades específicas dos negócios de forma eficaz.” 

“Tenho revisado meu livro introdutório de Java usando os recursos de Prévia de Classes Implicitamente Declaradas do Java 23, e como autor e educador, esses recursos facilitam muito meu trabalho,” disse Barry Burd, professor da Drew University. “Grande parte do código verboso nas edições anteriores foi eliminada, o que ajuda os alunos a se concentrarem na lógica essencial em vez de se perderem em linhas de texto padrão. Além disso, como classes implicitamente declaradas e métodos main de instância permitem que eu simplifique os exemplos de código no livro, agora há mais espaço para incluir outros conceitos interessantes de Java. Estou empolgado para ensinar programação aos meus alunos universitários com o Java 23.” 

“Na JetBrains, nos esforçamos para ajudar os desenvolvedores a consumir e adotar novos recursos Java no IntelliJ IDEA mesmo antes de serem lançados para produção, e isso certamente se aplica ao suporte da IDE para o Java 23,” disse Mala Gupta, defensora dos desenvolvedores Java na JetBrains. “O IntelliJ IDEA 2024.2 facilita para os desenvolvedores aproveitarem os novos e altamente inovadores recursos do Java 23, como tipos primitivos em padrões, classes implicitamente declaradas, corpos de construtores flexíveis, comentários de documentação em Markdown e outros.” 

Para entender mais sobre Java e seu ecossistema Global:

  • Dev.java: Portal oficial para aprender sobre Java
  • Inside.java: Notícias e discussões do Java Team da Oracle
  • Java YouTube: Canal oficial de YouTube com vídeos explicativos

Mais informações

Sobre a Oracle

A Oracle oferece suítes integradas de aplicações além de infraestrutura segura e autônoma na Oracle Cloud. Para mais informações sobre a Oracle (NYSE: ORCL), visite www.oracle.com.


Isenção de Responsabilidade sobre Produtos Futuros
O acima descrito visa delinear nossa direção geral de produtos. Destina-se apenas a fins informativos e não pode ser incorporado a nenhum contrato. Não é um compromisso de entregar qualquer material, código ou funcionalidade e não deve ser usado como base para decisões de compra. O desenvolvimento, lançamento, cronograma e preços de quaisquer recursos ou funcionalidades descritos para os produtos da Oracle podem mudar e permanecem a critério exclusivo da Oracle Corporation.

Leave a comment

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