Após seis meses de desenvolvimento, A Oracle anunciou o lançamento do Java SE 24, baseado no projeto de código aberto OpenJDK, mantendo a compatibilidade com versões anteriores para que a maioria dos projetos desenvolvidos anteriormente continuem a ser executados sem modificações.
Ao contrário das versões de suporte de longo prazo (LTS), Java SE 24 é uma versão de suporte regular, o que implica atualizações até o próximo lançamento. Para aqueles que buscam estabilidade a longo prazo, o Java SE 21 e o Java SE 17 continuarão a receber suporte até 2031 e 2029, respectivamente. Além disso, o suporte estendido do Java SE 8 LTS continuará até 2030, enquanto o Java SE 11 permanecerá em vigor até 2032.
Melhorias e novidades
Nesta nova versão que se apresenta do Java SE 24, uma das melhorias mais importantes é a introdução de Um modo generativo experimental para o coletor de lixo Shenandoah (projetado para processar objetos novos e antigos separadamente). Este novo modo melhora a eficiência na limpeza de objetos de curta duração, otimiza o uso da memória e oferece desempenho mais estável sob cargas variadas.
Outra novidade que se destaca é o Suporte experimental para cabeçalhos de objetos compactos no HotSpot JVM, reduzindo seu tamanho de 96 para 64 bits em sistemas de 64 bits. Essa otimização ajuda a reduzir o tamanho do heap e melhorar a eficiência do cache de memória.
O coletor de lixo O G1 também foi otimizado com um novo design das barreiras que monitoram o acesso à memória pelos aplicativos. A expansão de barreira agora é realizada posteriormente no processo de compilação dentro do compilador C2 JIT, reduzindo sua sobrecarga em até 20%, dependendo do tipo de aplicativo.
Melhorias de segurança e criptografia
O Java SE 24 apresenta uma API para a derivação de chaves criptográficas (KDF), permitindo a geração de chaves adicionais a partir de uma chave secreta e um conjunto arbitrário de dados. Esta API, ainda em fase de pré-visualização, reforça a segurança no gerenciamento de chaves dentro da plataforma.
Além disso, Avisos sobre o uso de APIs foram adicionados Interface nativa Java e função estrangeira e memória, em preparação para a futura implementação de um modo de integridade, que restringirá o acesso padrão ao código nativo. Avisos também foram habilitados ao usar métodos de acesso à memória externa por meio da classe sun.misc.Unsafe, recomendando a migração para a API VarHandle.
Por outro lado, no Java SE 24 o suporte para algoritmos criptográficos ML-KEM e ML-DSA (projetado para ser resistente a ataques de computação quântica). Esses algoritmos são baseados em problemas de teoria de redes, garantindo que os tempos de solução sejam equivalentes tanto em computadores convencionais quanto quânticos.
O Java Security Manager, que estava obsoleto desde o desaparecimento do suporte a plug-ins do navegador, foi removido permanentemente.
Otimizações
O JVM HotSpot agora permite pré-carregar e vincular classes antecipadamente, o que acelera significativamente a inicialização do aplicativo. Na primeira execução, o estado das classes é armazenado em cache para facilitar o carregamento em inicializações futuras.
Além disso, A implementação dos Valores Escopados foi melhorada, que agora ppermite compartilhar dados imutáveis entre threads de forma mais eficiente, substituindo o mecanismo tradicional de variáveis locais de thread. Isso é especialmente benéfico ao trabalhar com milhões de threads virtuais simultaneamente.
Outra novidade é o otimização de threads virtuais em estados bloqueados. Nesta versão, um thread virtual bloqueado libera seu thread de plataforma, permitindo que ele seja reutilizado por outros threads, melhorando a escalabilidade em sistemas com alto uso de multithreading.
Do outras mudanças que se destacam:
- Nova extensão para a API Stream, permitindo que você defina operações intermediárias personalizadas.
- Os mecanismos de correspondência de padrões foram aprimorados para oferecer suporte a tipos primitivos (int, byte, char, etc.) em expressões switch e no operador instanceof.
- Uma quarta versão de pré-visualização da API de simultaneidade estruturada foi adicionada, o que simplifica o desenvolvimento de aplicativos multithread ao tratar tarefas em diferentes threads como uma única unidade de execução.
- Uma maneira mais simples de declarar classes e definir o método main() foi introduzida, eliminando a necessidade de definir uma classe pública com métodos estáticos.
- Uma API de arquivo de classe foi adicionada, permitindo que você analise, gere e transforme arquivos de classe Java de forma mais fácil e programática.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir
BaixarJava SE 24
Aos interessados em instalar a nova versão do Java SE 24, saibam que as compilações (JDK, JRE e Server JRE) já estão prontas para Linux, Windows e macOS.