Java 19 pode ser grande
A próxima versão do Java padrão parece pronta para incluir uma API de memória e função estrangeira (Foreign function and memory API), uma API de vetor (A vector API, correspondência de padrões para expressões de switch (Pattern matching for switch expressions), genéricos universais (Universal generics) e muito mais.
Com o lançamento do Java 18, o Java 19 está começando a tomar forma. A próxima versão do Java padrão está definida para avançar
com uma API para interoperar com o código fora do tempo de execução do Java, a primeira de
muitas propostas potenciais que podem abranger recursos que variam de genéricos universais a
uma porta RISC-V.
A proposta para o Java 19 agora flutuando na comunidade OpenJDK é uma função estrangeira e
API de memória (Foreign function and memory API), que permitiria que programas Java façam interoperação com código e dados fora do tempo
de execução Java. O recurso será visualizado no Java Development Kit (JDK) 19, que deve chegar
em setembro.
Identificada como JEP (JDK Enhancement Proposal) 424, a função externa e a API de memória invocariam o código fora da JVM acessando a memória externa.
Essa API foi apresentada em um estágio de incubadora no JDK 17 e será reincubada no JDK 18,
que está programado para ser lançado em 22 de março. Para o JDK 19, a API passaria para um
estágio de visualização, incorporando refinamentos com base no feedback. O JDK 19 será uma
versão de curto prazo do Java com suporte por apenas seis meses.
Outra possibilidade de inclusão no JDK 19 é um vetor API, que está sendo incubado pela terceira vez no JDK 18. Uma quarta incubação foi proposta.
Essa API expressaria cálculos vetoriais que compilam em tempo de execução para instruções
vetoriais ideais. A correspondência de padrões para expressões e instruções switch, que está passando por uma terceira visualização no JDK 19, é outra possibilidade.
No geral, o Java este ano está programado para continuar a evolução de quatro iniciativas,
disse a Oracle. Isso inclui o Projeto Valhalla, para incubar recursos avançados de linguagem e JVM; Projeto Panamá, para interligar código nativo e JVM; Projeto Loom, para melhorar a concorrência; e o Projeto Amber, para explorar e incubar recursos de linguagem Java menores e orientados à produtividade.
Os seguintes recursos, que são objeto de JEPs ou rascunhos de JEPs não direcionados a uma
versão específica do Java, podem muito bem chegar ao Java 19:
Uma prévia dos genéricos universais, da Valhalla. Entregues por meio de três JEPs, os
genéricos universais unificariam o tratamento de tipos de referência e primitivos no código
genérico, permitindo que as variáveis de tipo Java abrangessem os dois tipos de tipos.
Uma visualização de objetos de valor, também um aprimoramento do Valhalla, fornecendo
instâncias de classe que possuem apenas campos de instância final e não possuem identidade
de objeto. Classes de valor sem identidade seriam declaradas.
Uma visualização de padrões de registro, para desconstruir valores de registro. Isso faz parte
do Projeto Amber.
Fixação de região para o coletor de lixo G1, para reduzir a latência implementando a fixação
de região para G1 para que a coleta de lixo não precise ser desabilitada durante regiões
críticas JNI (Java Native Interface).
Uma porta Linux do JDK para RISC-V, uma arquitetura de conjunto de instruções de código
aberto e isenta de royalties.
Alguns desses recursos, se não terminarem no JDK 19, podem acabar em uma versão subsequente,
como o JDK 20, que chegaria em março de 2023, com base na cadência de lançamento de
seis meses do Java padrão. Outros podem escorregar para uma versão ainda posterior ou
talvez nunca fazer o corte para estar em Java.
Fonte:
https://www.infoworld.com/article/3652336/java-19-may-be-quite-ambitious.amp.html
Comentários
Postar um comentário