E foi lançado o Java SE 20 com várias atualizações. Confira as novidades dessa importante atualização e baixe a nova versão.
O Java SE (Java Platform, Standard Edition) é um conjunto de bibliotecas e APIs que fornecem acesso a funcionalidades relacionadas ao desenvolvimento de aplicativos Java.
O Java SE é usado para criar aplicativos Java que podem ser executados em qualquer computador que suporte o Java SE. Inclui uma variedade de APIs, bibliotecas, ferramentas de desenvolvimento e documentação.
O Java SE também inclui suporte para aplicativos gráficos, incluindo Swing, JavaFX e AWT.
O conjunto de ferramentas Java SE é usado para criar aplicativos stand-alone, servidores web e aplicativos para dispositivos móveis. Além disso, o Java SE permite que os desenvolvedores acessem recursos de sistema, como bancos de dados, arquivos e impressoras.
Agora, após seis meses de desenvolvimento, a Oracle anunciou o lançamento da nova versão do Java SE 20 (Java Platform, Standard Edition 20), que utiliza o projeto open source OpenJDK como implementação de referência.
Novidades do Java SE 20
Nesta nova versão lançada do Java SE 20, com exceção da remoção de alguns recursos obsoletos, o Java SE 20 mantém a compatibilidade com versões anteriores com a plataforma Java: a maioria dos projetos Java escritos anteriormente continuarão a funcionar sem alterações quando executados com a nova versão.
O Java SE 20 é classificado como um lançamento de suporte regular, com atualizações a serem lançadas antes do próximo lançamento. A ramificação de suporte de longo prazo (LTS) deve ser o Java SE 17, que receberá atualizações até 2029.
Vale lembrar que a partir do lançamento do Java 10, o projeto mudou para um novo processo de desenvolvimento, o que implica em um ciclo mais curto para a formação de novos lançamentos.
Novas funcionalidades agora estão sendo desenvolvidas em uma ramificação mestre constantemente atualizada, incorporando alterações já feitas e bifurcando a cada seis meses para estabilizar novas versões.
Das inovações do Java 20, destaca-se que foi proposto suporte preliminar para Scoped Values, que permite compartilhamento de dados imutáveis em threads e troca eficiente de dados entre threads filhos (os valores são herdados).
Os Scoped Values estão sendo desenvolvidos para substituir o mecanismo de thread-local variables e são mais eficientes quando se utiliza um grande número de threads virtuais (milhares e milhões de threads).
A principal diferença entre os Scoped Values e as variáveis locais da thread é que os Scoped Values são escritos uma vez, não podem ser alterados posteriormente e permanecem disponíveis apenas durante a execução da thread.
Outra mudança introduzida nesta nova versão do Java SE 20 é que uma segunda implementação provisória de padrões de registro foi adicionada, o que estende a capacidade de correspondência de padrões do Java 16 para analisar valores de classes do tipo registro. Por exemplo:
Além disso, também vale a pena notar que uma quarta implementação preliminar de correspondência de padrão foi adicionada em expressões switch, permitindo que as tags case usem valores não exatos, mas modelos flexíveis que cobrem uma faixa de valores. que anteriormente exigia expressões de string pesadas como “if…else” .
Além disso, podemos descobrir nesta nova versão que foi adicionada uma segunda implementação preliminar da API FFM (Foreign Function & Memory), que permite organizar a interação de programas Java com código e dados externos chamando funções de bibliotecas externas e acesso à memória fora da JVM.
Por outro lado, vale a pena notar que uma segunda implementação preliminar de threads virtuais, que são threads leves que simplificam muito a escrita e a manutenção de aplicativos multithread de alto desempenho, foi adicionada.
Uma segunda variante da API experimental de paralelismo estruturado foi adicionada para simplificar o desenvolvimento de aplicativos multiencadeados, tratando várias tarefas executadas em diferentes encadeamentos como uma única unidade.
Foi adicionada uma quinta implementação preliminar da API de vetor que fornece funções para cálculos de vetor que são executados usando as instruções de vetor dos processadores x86_64 e AArch64 e permite aplicar operações Simultaneously Multi-Value (SIMD).
Ao contrário dos recursos fornecidos no compilador HotSpot JIT para vetorização automática de operações escalares, a nova API permite controlar explicitamente a vetorização para processamento paralelo de dados.
A implementação de referência do Java 20 desenvolvida pelo projeto OpenJDK, totalmente de código aberto sob a licença GPLv2 com exceções GNU ClassPath que permitem vinculação dinâmica a produtos comerciais.
Para saber mais sobre essa versão do Java SE, acesse a nota de lançamento.
Como instalar ou atualizar o Java SE
Para os interessados nesta nova versão, saibam que as builds instaláveis do Java SE 20 (JDK, JRE e Server JRE) estão preparadas para Linux (x86_64, AArch64), Windows (x86_64) e macOS (x86_64, AArch64). .