Pular para o conteúdo principal

Java 19 pode ser grande


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

Postagens mais visitadas deste blog

Java Records

  Java Records Imutável, Simples e limpa Esta funcionalidade da linguagem apareceu pela primeira vez na versão 14 como experimental e assim continuou até a versão 15 . Agora liberada de forma definitiva no Java 16 . O objetivo é ser possível ter classes que atuam como portadores transparentes de dados imutáveis. Os registros podem ser considerados tuplas nominais. Ou seja, após criado, um record não pode mais ser alterado. Records oferece uma uma sintaxe compacta para declarar classes que são portadores transparentes para dados imutáveis superficiais visando reduzir significamente o detalhamento dessas classes e irá melhorar a capacidade de leitura e manutenção do código. Vamos seguir um exemplo de uma classe chamada Pessoa . O primeiro exemplo vamos utilizar o modo tradicional. public class Pessoa { private String nome; private int idade; public Pessoa (String nome, int idade) { super (); this .nome = nome; this .idade = idade; } public String getNo

Java 8 ao 18: Mudanças mais importantes na plataforma Java

    Vamos rever muitas das mudanças mais importantes na plataforma Java que aconteceram entre a versão 8 (2014) e 18 (2022)   O Java 8 foi lançado em março de 2014 e o Java 18 em março de 2022. São 8 anos de progresso, 203 JEPs (JDK Enhancement Proposals ), entre essas duas versões. Neste post, revisaremos as mudanças mais importantes e discutiremos os benefícios e desafios da adoção de versões mais recentes do JDK para novos aplicativos e para os mais antigos compilados com versões mais antigas. Desde a versão 9, o Java tem novos recursos a cada 6 meses e é muito difícil acompanhar essas novas mudanças. A maioria das informações na internet descreve as mudanças entre as duas últimas versões do Java. No entanto, se você estiver em uma situação semelhante à minha, não está usando uma das versões mais recentes do Java, mas uma das várias versões anteriores (Geralmente 8 ou 11 que são as versões de suporte estendido). Então é útil saber quais novos recursos foram adicionados d

O suporte de longo prazo e o que o LTS significa para o ecossistema Java

A arte do suporte de longo prazo e o que o LTS significa para o ecossistema Java Aqui está o que o Java 17 tem em comum com o Java 11 e o Java 8. Em junho de 2018, há pouco mais de três anos, a Oracle e outros participantes do ecossistema Java anunciaram uma mudança no modelo de cadência de lançamento para Java SE. Em vez de ter um lançamento principal planejado a cada dois ou quatro anos (que geralmente se torna de três a quatro anos), um novo modelo de lançamento de recursos de seis meses seria usado: a cada três anos, um lançamento seria designado como Long-Term Support (LTS) e receba apenas atualizações trimestrais de segurança, estabilidade e desempenho. Esse padrão foi emprestado descaradamente do modelo de lançamento do Mozilla Firefox, mas o ajustou para ficar mais alinhado com os requisitos de uma plataforma de desenvolvimento. A primeira versão do Java lançada sob esse modelo foi o Java SE 11. O lançamento do Java SE 17, o segundo lançamento do LTS sob o novo