Pular para o conteúdo principal

Postagens

Mostrando postagens de 2022

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

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

Projeto Leyden atrasa o compilador OpenJDK AOT e otimiza o compilador JIT em vez disso

Projeto Leyden atrasa o compilador OpenJDK AOT e otimiza o compilador JIT em vez disso O objetivo do Projeto Leyden é "resolver os pontos problemáticos de longo prazo do tempo de inicialização lenta do Java, do tempo lento para o desempenho máximo". Ele queria chegar lá "introduzindo um conceito de imagens estáticas" no OpenJDK. Imagens estáticas resultam da compilação Ahead-of-Time (AOT) para executáveis ​​nativos . Após dois anos sem atividade publicamente visível, o Projeto Leyden mudou em maio de 2022 para primeiro otimizar a compilação Just-in-Time (JIT). As " otimizações resultantes quase certamente serão mais fracas " do que o planejado inicialmente e alcançarão os principais desenvolvedores Java no final de 2025, no mínimo. O projeto Graal da Oracle já atingiu o objetivo do Projeto Leyden, mas a um custo que o projeto quer evitar por enquanto. O projeto Graal tem origem no Oracle Labs e não faz parte do OpenJDK. Sua imagem nativa GraalVM é

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,