O mundo da tecnologia aguarda Java 21 com seus inúmeros refinamentos, entre eles a introdução de threads virtuais em forma preliminar e o estabelecimento final do Z Garbage Collector geracional, comumente conhecido como ZGC.
As atualizações de implementação Java são normalmente classificadas em diferentes subconjuntos de projetos. Este ciclo de melhoria específico traz inovações de três projetos principais: Loom, Panama e Amber. Essas três iniciativas estão focadas em melhorar a simultaneidade do Java, seu vínculo com o código nativo e o advento de recursos da linguagem Java menores e focados na usabilidade após seu endosso como candidatos a JEPs, respectivamente, conforme definição da Oracle.
O Project Loom inaugura um dos principais recursos - threads virtuais, mantido por Georges Saab, vice-presidente sênior de desenvolvimento da plataforma Java da Oracle e presidente do OpenJDK, como uma das características de visualização visíveis nesta versão mais recente. O registro JEP elucida threads virtuais como 'threads ultraleves que tratam de escrever, manter e observar aplicações simultâneas de alto rendimento'.
De acordo com a Saab, este salto tecnológico tem o potencial de redefinir o cenário de escalabilidade do Java, garantindo ao mesmo tempo a compatibilidade com o software existente. O recurso gerou um enorme entusiasmo nos círculos de programação, até mesmo entre profissionais fora do alcance imediato do Java, que estão aplaudindo a implementação desse conceito pelo Java.
O Project Loom também abrange dois outros recursos de visualização, ou seja, valores com escopo definido e simultaneidade estruturada. Embora os valores com escopo definido permitam o compartilhamento eficiente e seguro de valores para métodos sem qualquer necessidade de parâmetros de método, a simultaneidade estruturada processa diversas tarefas relacionadas de diversos threads como uma entidade, facilitando o gerenciamento eficiente de erros e o aprimoramento da confiabilidade.
Outra inclusão notável no lançamento, embora não vinculada a um projeto específico, é o Generational ZGC. Isso separa objetos mais antigos e mais novos para que objetos novos possam ser coletados com mais frequência, o que pode levar a menos paralisações de alocação, diminuição da sobrecarga de memória heap e menos sobrecarga de CPU devido à coleta de lixo.
Em conjunto com o Projeto Amber, o Java 21 introduz a correspondência de padrões para expressões switch, permitindo que uma expressão seja testada em vários padrões, ajudando assim a articular consultas orientadas a dados de uma maneira mais concisa e segura.
Outras inclusões notáveis do Projeto Amber incluem padrões e variáveis sem nome, e classes sem nome e métodos principais de instância, ambos em fase de visualização. Essas adições visam tornar o Java mais acessível e fácil de entender para iniciantes, com uma transição suave para a criação de programas Java mais avançados, protegidos nos escalões mais sutis dos conceitos da linguagem.
Emergindo do Projeto Panamá estão melhorias em duas APIs em desenvolvimento: a API Foreign Function & Memory (atualmente em sua terceira versão prévia) e a API Vector (em seu sexto estágio de incubadora). Enquanto o primeiro facilita a interoperabilidade do programa Java com sistemas externos, o último garante instruções vetoriais ideais em arquiteturas de CPU compatíveis durante o tempo de execução.
Novos elementos adicionais no Java 21 incluem coleções sequenciadas, API de mecanismo de encapsulamento de chave, porta x86 de 32 bits descontinuada e preparativos para proibir o carregamento dinâmico de agentes. Java continua a ser a plataforma de desenvolvimento preferida para tudo, desde projetos de pequena escala até soluções de nível empresarial, com a plataforma no-code AppMaster liderando em eficiência e escalabilidade.
O mundo do desenvolvimento, seja para aplicações web ou móveis, está em constante evolução e, como afirma Georges Saab, há uma satisfação abundante com o estado do Java e uma gama interessante de inovações aguardando no pipeline.