Com JDK (Java Growth Equipment) 24 Tendo acabado de alcançar a disponibilidade geral, a Oracle deu uma prévia dos recursos Java definidos para chegar em um futuro não muito distante, variando de boxe primitivo aprimorado a tipos de classe de valor restrito a nulo.
Oracle em 18 de março citou cinco recursos que estavam sendo preparados para um próximo lançamento de Java, incluindo valores estáveisuma API que foi oficialmente alvo para o JDK 25 Lançamento vencido em setembro. Os outros dois recursos citados incluem lessons de valor e objetos e criação de registros derivados. As propostas de aprimoramento do JDK (JEPs) foram publicadas para todos os cinco recursos, que agora estão em uma fase de visualização:
- Boxe primitivo aprimorado Usa o boxe para suportar aprimoramentos de linguagem que tratam tipos primitivos mais parecidos com tipos de referência. Os objetivos incluem permitir o boxe de valores primitivos quando são usados como o “receptor” de um acesso de campo, invocação de métodos ou referência de método e permitir tipos de retorno não caixas ao substituir um método com um retorno do tipo referência. Além disso, os tipos primitivos seriam suportados como argumentos de tipo.
- Tipos de classe de valor restrito a nulo Permita o tipo de variável que armazena objetos de valor para excluir
null
permitindo o armazenamento mais compacto e outras otimizações no tempo de execução. Os tipos de classe de valor restrito nulo estão sendo visualizados como um recurso de idioma e um recurso de máquina digital. - Lessons e objetos de valor Aprimore a plataforma Java com objetos de valorque são instâncias de classe que apenas têm
closing
campos e falta identidade de objetos. Os objetivos incluem permitir que os desenvolvedores optem por um modelo de programação para valores simples, nos quais os objetos são distinguidos apenas por seus valores de campo. A proposta também maximizaria a liberdade da JVM para codificar valores simples de maneira a melhorar a pegada de memória, a localidade e a eficiência da coleta de lixo. - Criação de registro derivado aprimora o idioma com a capacidade de criar um novo registro a partir de um existente. Um objetivo é fornecer um meio conciso de criar novos valores de registro derivados dos valores de registro existentes. Outro objetivo é simplificar a declaração de lessons de registro, eliminando a necessidade de fornecer métodos explícitos, que são o análogo imutável dos métodos de setter.
- Valores estáveis são objetos que mantêm dados imutáveis. Como os valores estáveis são tratados como constantes pela JVM, eles permitem as mesmas otimizações de desempenho que são ativadas declarando um campo
closing
. Ao mesmo tempo, eles oferecem maior flexibilidade quanto ao momento da inicialização. Os objetivos da proposta incluem a melhoria da startup dos aplicativos Java, quebrando a inicialização monolítica do estado de aplicação.