Oracle prepara Java 23 para entrega just-in-time
A Oracle lançou na terça-feira o Java 23 (Oracle JDK 23), mantendo seu ritmo de seis meses já bem estabelecido.
Ninguém deveria se surpreender com isso porque a previsibilidade faz parte do plano. Clientes corporativos com aplicativos Java não querem ser surpreendidos.
“Estamos lançando atualizações pontualmente a cada seis meses, em março e setembro”, disse Chad Arimura, vice-presidente de relações com desenvolvedores Java da Oracle. O Registro. “E isso tem ocorrido muito bem e sem problemas.
“E de fato, pessoas que inicialmente eram muito céticas, como Georges [Saab, SVP of development for the Java platform group]gosta de dizer, até mesmo pessoas em seu próprio grupo de engenharia estavam céticas sobre isso ser possível.
“Já faz sete anos e as pessoas, quero dizer, nós sempre ouvimos que essa é a melhor coisa que aconteceu ao Java.”
Isso não quer dizer que não haja novidades. O Java 23 incorpora 12 JDK Enhancement Proposals, ou JEPs, que adicionam novos recursos à linguagem de programação, sem mencionar correções de bugs, melhorias de segurança e outros ajustes.
Com espírito de cautela, muitos desses JEPs são apresentados em formato de pré-visualização para incorporar o feedback da comunidade para revisão em uma versão subsequente.
Por exemplo, Classes Declaradas Implicitamente e Métodos Principais de Instância (DÊ 477) aparece como uma Terceira Prévia. Ela se baseia em DÊ 445visualizado no JDK 21 e DAR 463 do JDK 22, com o objetivo de tornar o código Java mais acessível para novatos, exigindo menos código. O objetivo é tornar um programa simples “Hello, World!” fácil de escrever.
“Classes implicitamente declaradas… tornam muito, muito mais sucinto escrever seu primeiro programa”, disse Arimura. “Mas não apenas seu primeiro programa. Eu o uso para demonstrações o dia todo.”
Tornar o Java mais acessível para iniciantes é importante para a saúde do ecossistema Java, assim como outras linguagens como Python e JavaScript tornaram-se mais comuns como primeira linguagem de programação para estudantes.
A Oracle continua interessada em lembrar às pessoas que Java é a “linguagem nº 1 para as tendências tecnológicas atuais” – sem definir essas tendências – e a “linguagem nº 1 para uso geral em empresas/organizações de TI”.
O Projeto GitHut 2.0 classifica Java em segundo, atrás de Python, conforme medido por pull requests no GitHub. Com base nas estrelas do GitHub, Java está em quinto, atrás de Python, JavaScript, Go e C++.
Java 23 é uma versão de recurso, elegível para seis meses de suporte da Oracle. O próximo lançamento do LTS, com suporte por oito anos, é o Java 25, previsto para setembro de 2025.
Além do JEP 477 acima, os JEPs que chegam com o Java 23 incluem:
Arimura disse que uma das coisas em que a equipe Java da Oracle tem se concentrado é na integridade por padrão, um esforço que envolve dificultar o uso de APIs privadas internas.
“As pessoas costumam fazer isso”, explicou Arimura, “e estamos realmente trabalhando para continuar a mover as pessoas para APIs alternativas que sejam públicas”.
Fazer isso ajuda a tornar a plataforma Java mais segura. Seguindo essas linhas, o JEP 471 desaprova métodos de acesso à memória inseguros em preparação para eventual remoção. Arimura disse que APIs alternativas são fornecidas por meio do Panamá projeto, entre outras coisas.
Arimura disse que é difícil escolher uma nova adição favorita à linguagem, mas destacou o JEP 474, o ZGC (Z Garbage Collector), que agora adota o modo geracional por padrão, o que significa que ele gerencia objetos com idades diferentes de forma mais eficaz.
Ele também expressou sua apreciação pelo JEP 476. “Eu sou um cara de linguagens, então coisas como declarações de importação de módulos tornam muito mais fácil importar todos os pacotes que um módulo exporta por uma linha de código em vez de sete ou oito ou importar pacotes com ponto e asterisco”, disse Arimura.
O compilador Graal JIT (just-in-time) agora está incluído entre os JITs no Oracle JDK 23, antes disponível apenas por meio do GraalVM.
“A partir do JDK 23, o Oracle JDK incluirá o Graal JIT”, disse Donald Smith, VP de gerenciamento de produtos. “E a maneira como gosto de pensar é como se um desenvolvedor ou administrador de sistema tivesse acesso a diferentes coletores de lixo, dependendo do tipo de carga de trabalho com que estão lidando. Estamos tornando o Graal JIT uma opção para desenvolvedores também. Existem algumas cargas de trabalho em que o Graal JIT será mais rápido, especialmente na inicialização, especialmente se você estiver criando muitos objetos.”
No entanto, o GraalVM continuará sendo um download separado do JDK. “Se você quisesse usar a imagem nativa, a compilação ahead-of-time, se quisesse usar o recurso poliglota do Graal, então se estivesse tentando co-localizar um aplicativo com JavaScript ou Scala ou algo assim, ou usando a compilação ahead-of-time para essas linguagens, você ainda usaria o GraalVM separado para download do JDK”, disse Smith. “Isso é tudo sobre uma conveniência para aqueles que querem ver se o Graal JIT ajuda com seu próprio aplicativo.”
Arimura abordou preocupações levantadas em uma chamada recente sobre se a grande parcela de JEPs de pré-visualização reflete uma desaceleração no desenvolvimento da plataforma.
“Fiz uma pausa de um minuto porque realmente parece para mim, e acho que para outras pessoas da equipe, que isso é um indicador de que as coisas estão funcionando e indo muito rápido, mas de forma rápida e cuidadosa, garantindo que estamos passando por um sistema de pré-visualização para obter feedback, para garantir que eles estejam divulgando os designs”, disse ele.
“Achamos que eles estão 99% do caminho, mas queremos ter certeza de que as pessoas reconheçam que eles podem mudar e queremos obter um feedback final e evoluir isso antes que se tornem definitivos, porque se eles se tornarem definitivos, eles continuarão assim por muito tempo.”
Como se fosse um sinal da vitalidade do Java, o JavaOne, um evento de desenvolvedores administrado pela comunidade, acontecerá na área da Baía de São Francisco de 17 a 20 de março de 2025, após um hiato de dois anos. ®