A Oracle lança o Java 22
Comunicado à imprensa

A Oracle lança o Java 22

A nova versão oferece 12 propostas de aprimoramento do JDK para melhorar a linguagem Java e aprimorar o desempenho, a estabilidade e a segurança da plataforma de desenvolvimento

Austin, Texas19 de março de 2024
Java 22

A Oracle disponibilizou o Java 22, a versão mais recente da linguagem de programação e plataforma de desenvolvimento número um do mundo. O Java 22 (Oracle JDK 22) oferece milhares de melhorias de desempenho, estabilidade e segurança para ajudar os desenvolvedores a aumentar a produtividade, impulsionar a inovação e acelerar o crescimento em suas organizações. Isso inclui aprimoramentos na linguagem Java, suas APIs e no desempenho, além das ferramentas incluídas no JDK.

"As melhorias no Java 22 permitem que mais desenvolvedores criem e forneçam aplicações ricas em recursos, escaláveis e seguras de forma rápida e fácil, ajudando as organizações no mundo todo a expandir seus negócios", disse Georges Saab, vice-presidente sênior da Oracle Java Platform e presidente do conselho administrativo do OpenJDK. "Esses aprimoramentos simplificam o desenvolvimento de aplicações, ampliam o alcance do Java e são acessíveis a desenvolvedores de todos os níveis de habilidade. Como resultado, o Java 22 poderá ajudar as organizações e os desenvolvedores a criar uma ampla variedade de novas aplicações e serviços."

O mais recente Java Development Kit (JDK) fornece atualizações e melhorias com 12 JEPs (JDK Enhancement Proposals, Propostas de Melhoria do JDK). O JDK 22 incorpora melhorias de linguagem do OpenJDK Project Amber (Statements before super[...], Unnamed Variables & Patterns, String Templates, and Implicitly Declared Classes and Instance Main Methods); melhorias do Project Panama (Foreign Function & Memory API and Vector API); características relacionadas con Project Loom (Structured Concurrency and Scoped Values); recursos de bibliotecas e ferramentas essenciais (Class-File API, Launch Multi-File Source-Code Programs, Stream Gatherers); e atualizações de desempenho (Region Pinning for G1).

"Depois de quase três décadas, a capacidade do Java de oferecer suporte a tarefas de desenvolvimento complexas que incluem uma ampla gama de casos de uso torna a plataforma mais relevante do que nunca", disse Arnal Dayaratna, vice-presidente de pesquisa de desenvolvimento de software da IDC. "A versatilidade e o conjunto de ferramentas do Java permitem que ele facilite o desenvolvimento de aplicações críticas de produção em escala, posicionando-o como uma tecnologia essencial para casos de uso inovadores, como a IA generativa".

Atualizações significativas entregues no Java 22:

Recursos do Project Amber

  • JEP 447:Statements before super: permitem que os desenvolvedores tenham a liberdade de expressar o comportamento dos construtores. Ao permitir que as declarações que não fazem referência à instância que está sendo criada apareçam antes de uma invocação explícita do construtor, essa função oferece um posicionamento mais natural da lógica que precisa ser considerada em métodos estáticos auxiliares, construtores intermediários auxiliares ou argumentos do construtor. Além disso, continua garantindo que os construtores sejam executados em ordem decrescente durante a instanciação da classe, o que assegura que o código em um construtor de subclasse não possa interferir na instanciação de superclasses. Esse recurso também não exige alterações na Java Virtual Machine e depende apenas da capacidade da JVM atual de verificar e executar o código que aparece antes das invocações explícitas do construtor dentro dos construtores.
  • JEP 456:Unnamed Variables & Patterns: : ajuda a aumentar a produtividade do desenvolvedor, aprimorando a linguagem Java com variáveis e padrões sem nome, que podem ser usados quando declarações de variáveis ou padrões aninhados são necessários, mas nunca usados. Isso reduz a probabilidade de erros, melhora a legibilidade dos padrões de registro e aumenta a capacidade de manutenção de todo o código.
  • JEP 459: String Templates (Second Preview): simplifica o desenvolvimento de programas Java ao facilitar a expressão de cadeias de caracteres que incluem valores calculados em tempo de execução, e melhora a segurança de programas que compõem strings a partir de valores fornecidos pelo usuário, e os transmitem para outros sistemas. Além disso, a legibilidade de expressões misturadas com texto é aprimorada, e valores não-string calculados a partir de texto literal e expressões incorporadas podem ser criados sem a necessidade de transitar por uma representação de string intermediária.
  • JEP 463: Implicitly Declared Classes and Instance Main Methods (Second Preview): ajuda a acelerar o aprendizado, fornecendo uma abordagem simples à programação Java, de modo que os alunos possam escrever seus primeiros programas sem precisar entender os recursos de linguagem projetados para programas grandes. Com esse recurso, os educadores podem introduzir conceitos de forma gradual e os alunos podem escrever declarações simplificadas para programas de classe única e expandir seus programas para usar recursos mais avançados à medida que suas habilidades se desenvolvem.

Recursos do Project Loom

  • JEP 462: Structured Concurrency (Second Preview): permite que os desenvolvedores otimizem o tratamento e a resolução de erros e melhorem a observabilidade, introduzindo uma API para simultaneidade estruturada. Isso ajuda a promover um estilo de programação simultânea que pode eliminar riscos comuns de cancelamento e fechamento, como vazamentos de thread e atrasos de cancelamento, e melhorar a observabilidade do código simultâneo.
  • JEP 464: Scoped Values (Second Preview): contribui para aumentar a facilidade de uso e de compreensão, o desempenho e a robustez dos projetos dos desenvolvedores, permitindo o compartilhamento de dados imutáveis dentro e entre threads.

Project Panama Features

  • JEP 454: Foreign Function & Memory API: aumenta a usabilidade, a flexibilidade, a segurança e o desempenho para os desenvolvedores, introduzindo uma API que permite que os programas Java interoperem com códigos e dados fora do tempo de execução do Java. Ao invocar com eficiência funções externas (ou seja, código fora da Java Virtual Machine ou JVM) e ao acessar com segurança a memória externa (ou seja, não gerenciada pela JVM), a nova API permite que os programas Java chamem bibliotecas nativas e processem dados nativos sem a necessidade de usar a Java Native Interface.
  • JEP 460: Vector API (Seventh Incubator): permite que os desenvolvedores obtenham um desempenho superior a cálculos escalares equivalentes, introduzindo uma API para expressar cálculos vetoriais que compilam de forma confiável instruções vetoriais em tempo de execução nas arquiteturas de CPU compatíveis.

Core Libraries & Tools Features

  • JEP 457: Class-File API (Preview): ajuda os desenvolvedores a aumentar a produtividade, fornecendo uma API padrão para analisar, gerar e transformar arquivos de classe Java.
  • JEP 458: Launch Multi-File Source-Code Programs: oferece aos desenvolvedores a capacidade de escolher se e quando configurar uma ferramenta de build, aprimorando o acionador de aplicações Java para executar um programa fornecido como vários arquivos de código-fonte Java.
  • JEP 461: Stream Gatherers (Preview): ajuda os desenvolvedores a aumentar a produtividade, aprimorando a API de fluxo para oferecer suporte a operações intermediárias personalizadas, o que permitirá que os pipelines de fluxo transformem os dados de maneiras que não podem ser facilmente obtidas com as operações intermediárias incorporadas existentes. Ao aumentar a flexibilidade e a expressividade dos pipelines de fluxo e permitir que operações intermediárias personalizadas manipulem fluxos de tamanho infinito, esse recurso permite que os desenvolvedores sejam mais eficientes na leitura, gravação e manutenção do código Java.

Atualizações de desempenho

  • JEP 423: Region Pinning for G1: contribui para reduzir a latência, permitindo que algumas coletas de lixo de agendamento ocorram durante algumas chamadas de bibliotecas nativas que, de outra forma, exigiriam a interrupção do coletor. Isso é feito rastreando os objetos a serem bloqueados durante essas chamadas de biblioteca nativa e "fixando" apenas as regiões que contêm esses objetos. Isso permite que a coleta continue normalmente em regiões não fixadas, mesmo durante os períodos em que as chamadas à biblioteca nativa estariam desativadas.

A versão Java 21 é o resultado da colaboração contínua entre os engenheiros da Oracle e outros membros da comunidade mundial de desenvolvedores Java por meio do OpenJDK e do Java Community Process (JCP). Além das novas melhorias, o Java 21 inclui o Java Management Service(JMS), um serviço nativo do Oracle Cloud Infrastructure (OCI), que fornece um painel único de controle para ajudar as organizações a gerenciar os tempos de execução e as aplicações Java em ambientes on-premises e em qualquer nuvem. Para saber mais sobre os recursos do Java 22, leia o post na íntegra no blog do Java 22.

Apoiando o ecossistema Java global com inovação na nuvem

O Java impulsiona o desempenho, a eficiência, a inovação e a economia de custos quando implantado na nuvem na OCI, que é uma das primeiras nuvens em hiperescala a oferecer suporte ao Java 22. Ao fornecer o Oracle Java SE, o Oracle GraalVM e o Java SE Subscription Enterprise Performance Pack gratuitamente na OCI, o Java 22 permite que os desenvolvedores criem e implantem aplicações que são executadas de forma mais rápida, melhor e com custo-benefício otimizado.

O Oracle Java Universal SE Subscription é uma oferta de pagamento conforme o uso que oferece aos clientes o melhor suporte da categoria. Ele inclui suporte de triagem para todo o portfólio Java, direitos de acesso ao GraalVM Enterprise, Java SE Subscription Enterprise Performance Pack, acesso a recursos avançados do Java Management Service e a flexibilidade de atualização no ritmo de seus negócios. Isso ajuda as organizações de TI a gerenciar a complexidade, conter custos e reduzir riscos de segurança.

A comunidade Java adota o Java 22

"No ecossistema dinâmico da Türkiye Java Community (TJC), o apoio contínuo da Oracle impulsiona nosso desenvolvimento", disse Evren Tan, líder da comunidade, TJC. "Com o desenvolvimento do Java 22, estamos adotando vários recursos contemporâneos que aumentam ainda mais a eficiência do desenvolvedor, reforçando nosso compromisso com o avanço da tecnologia Java na Turquia. Também damos as boas-vindas aos desenvolvedores Java do mundo todo para que se juntem a nós nas atividades do TJC, demonstrando o espírito acolhedor da comunidade que mantém o Java tão vibrante."

"A popularidade do Java como linguagem de programação, plataforma e comunidade de desenvolvedores continua crescendo no Marrocos e na região da África", diz Badr El Hourari, fundador e CIO da xHub. "Com o Java 22, estou animado para ver a equipe Java da Oracle se concentrar em inovações que ajudarão os novos desenvolvedores a adotar o Java mais rapidamente, como o JEP 463. Ao simplificar a linguagem, o Java se torna acessível a uma nova geração de programadores. Além disso, aqui no Marrocos, continuamos destacando a importância do Java na conferência anual Devoxx Morocco e convidamos todos os desenvolvedores para o evento deste ano para ouvir algumas das vozes globais mais influentes da comunidade Java.

"Fico impressionada com os recursos que o Java 22 disponibiliza para todos, de estudantes a desenvolvedores sênior, e de entusiastas aventureiros do Java a organizações que buscam um desempenho estável", disse Mala Gupta, Java Developer Advocate, JetBrains. "O Java está adotando uma abordagem minimalista, pois tenta reduzir todos os formalismos relacionados à escrita das etapas iniciais do código, por meio do método de instância principal e das classes implícitas, tornando mais fácil para todos começarem a usar o Java. Com a reformulação da marca do construtor (Statements before Super[...]), o Java mostrou mais uma vez que impulsiona a inovação responsável, e é muito reconfortante o fato de reduzir as restrições de linguagem que existiam na versão 1.0 do Java sem quebrar nenhum código. O IntelliJ IDEA 2024.1 oferece suporte aos recursos do Java 22, para que os desenvolvedores Java possam usá-los facilmente."

"A equipe da Helidon reconheceu o valor das linhas virtuais assim que elas foram anunciadas. Com o Helidon 4, a equipe reescreveu o servidor web Helidon para usar nativamente threads virtuais, resultando em um aumento significativo no desempenho e na produtividade do desenvolvedor", disse Will Lyons, vice-presidente de gerenciamento de produtos da Oracle. "Agora, com o Java 22, estamos observando outro aumento no desempenho de threads virtuais, e essas melhorias beneficiarão todos os usuários do Helidon.

Para saber mais sobre o Java e seu ecossistema global, acesse:

  • Dev.java: o portal oficial para aprender Java
  • Inside.java: notícias e opiniões dos membros da equipe Java da Oracle
  • Java YouTube: o canal oficial do Java no YouTube para aprender Java com vídeos

Recursos adicionais

Informações para Contato

About Oracle

A Oracle oferece conjuntos integrados de aplicações, além de uma estrutura segura e autônoma na Oracle Cloud. Para obter mais informações sobre a Oracle (NYSE: ORCL), acesse www.oracle.com.

Marcas registradas

Oracle, Java, MySQL e NetSuite são marcas registradas da Oracle Corporation. A NetSuite foi a primeira empresa de nuvem, inaugurando a nova era da computação em nuvem.