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 g...

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 ...

Livro Gratuito de Logica de Programação em Java

O pessoal da Algaworks disponibilizou um PDF para quem está iniciando com Java e precisa aprender lógica de programação com Java. Segue o link para o PDF http://cafe.algaworks.com/livro-logica-de-programacao/ O que você vai aprender nesse livro gratuito? 1. Introdução 1.1. O que é um algoritmo 1.2. Linguagens de programação 1.3. Instalando o Java 1.4. O famoso “Olá mundo!” 1.5. Executando o primeiro algoritmo 1.6. Palavras reservadas do Java 1.7. Fazendo comentários em um programa Java 2. Variáveis e constantes 2.1. Tipos de dados existentes 2.2. Escolhendo bons nomes para variáveis e constantes 3. Operadores 3.1. Operadores aritméticos 3.2. Operadores de atribuição 3.3. Operadores relacionais 3.4. Operadores lógicos 4. Estruturas de decisão 4.1. Estrutura “if” 4.2. Estrutura “switch” 5. Iteração 5.1. Iterando com o “for” 5.2. Iterando com o “while” 6. Conclusão 6.1. Próximos passos Fonte : algaworks