Lançamento do Java SE 19

Após seis meses de desenvolvimento, a Oracle lançou a plataforma Java SE 19 (Java Platform, Standard Edition 19), cuja implementação de referência utiliza o projeto aberto OpenJDK. Exceto pela remoção de algumas funcionalidades obsoletas, a compatibilidade com versões anteriores da plataforma Java foi mantida no Java SE 19 — a maioria dos projetos Java previamente escritos funcionará sem alterações ao ser executada na nova versão. As compilações prontas para instalação do Java SE 19 (JDK, JRE e Server JRE) estão disponíveis para Linux (x86_64, AArch64), Windows (x86_64) e macOS (x86_64, AArch64). A implementação de referência do Java 19 desenvolvida no âmbito do projeto OpenJDK está completamente aberta sob a licença GPLv2 com exceções do GNU ClassPath, permitindo a ligação dinâmica com produtos comerciais.

O Java SE 19 é classificado como um lançamento com prazo de suporte normal, cuas atualizações serão lançadas até o próximo lançamento. A versão com longo prazo de suporte (LTS) deve ser o Java SE 17, com atualizações disponíveis até 2029. Lembramos que a partir do lançamento do Java 10, o projeto adotou um novo processo de desenvolvimento, com um ciclo mais curto para a formação de novos lançamentos. A nova funcionalidade agora é desenvolvida em um ramo master que é constantemente atualizado, no qual são incluídas mudanças já concluídas e a partir do qual ramificações para estabilização de novos lançamentos são criadas a cada seis meses.

Entre as novidades do Java 19, destacam-se:

  • Foi proposta a suporte preliminar a padrões de registro (record pattern), ampliando a possibilidade de correspondência com amostras que surgiu no Java 16, utilizando métodos para descompactar valores de classes do tipo record. Por exemplo: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Nas compilações para Linux, há suporte para a arquitetura RISC-V.
  • Foi adicionado suporte preliminar à API FFM (Foreign Function & Memory), permitindo a interação de programas Java com código e dados externos por meio de chamadas de funções de bibliotecas externas e acesso à memória fora da JVM.
  • Foi adicionada suporte a threads virtuais, que são threads leves, simplificando significativamente a escrita e a manutenção de aplicações multithread de alto desempenho.
  • Foi proposta a quarta implementação preliminar da API Vector, que fornece funcionalidades para computação vetorial, executadas usando instruções vetoriais dos processadores x86_64 e AArch64, permitindo a aplicação simultânea de operações em vários valores (SIMD). Diferente das capacidades de vetorização automática para operações escalares fornecidas pelo compilador JIT HotSpot, a nova API permite o controle explícito da vetorização para o processamento paralelo de dados.
  • Foi adicionada a terceira implementação experimental de correspondência por padrão nas expressões "switch", permitindo que nos rótulos "case" sejam utilizados não valores exatos, mas padrões flexíveis que abrangem uma série de valores, dos quais anteriormente era necessário usar cadeias extensas de expressões "if…else". Object o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Foi adicionado um API experimental para paralelismo estruturado, simplificando o desenvolvimento de aplicações multithread ao tratar várias tarefas executadas em diferentes threads como um único bloco.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster