Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo AdoptOpenJDK

Diferenças entre o Java 11 e Java 17 - Records e Sealed Classes

    Diferenças entre Java 11 e 17 - Records e Sealed Classes Neste segundo post vamos falar sobre Records e Sealed Classes . Caso não tenha acompanhado a primeira parte sobre Text Blocks e Switch Expressions , está aqui . Records Records permitirão que você crie classes de dados imutáveis. Atualmente, você precisa, por exemplo, crie uma Classe de dados usando as funções de geração automática de seu IDE para gerar construtor, getters, hashCode, equals e toString ou você pode usar o Lombok para essa finalidade. No final, você acaba com algum código clichê ou acaba com uma dependência do Lombok em seu projeto. public class GrapeClass { private final Color color ; private final int nbrOfPits ; public GrapeClass ( Color color, int nbrOfPits) { this . color = color; this . nbrOfPits = nbrOfPits; } public Color getColor () { return color ; } public int getNbrOfPits () { return nbrOfPits ; } @Override public boolean

Diferenças entre o Java 11 e Java 17 - Text Blocks e Switch Expressions

    Diferenças entre Java 11 e 17 - Text Blocks e Switch Expressions Aprenda as diferenças entre o Java 11 e o Java 17. Obtenha uma visão geral do modelo de licenciamento e exemplos dos novos recursos do Java 17. Neste primeiro post vamos falar sobre Text Blocks e Switch Expressions. Em 14 de setembro, o Java 17 foi lançado . É hora de dar uma olhada mais de perto nas mudanças desde o último lançamento do LTS, que é o Java 11. É feita uma breve introdução sobre o modelo de licenciamento e, em seguida, algumas das mudanças entre o Java 11 e o Java 17 são destacadas, principalmente por meio de exemplos. Introdução Primeiro, vamos dar uma olhada no modelo de licenciamento e suporte Java. O Java 17 é uma versão LTS (Long Term Support), assim como o Java 11. Com o Java 11, uma nova cadência de lançamento começou. Java 11 veio com suporte até setembro de 2023 e com suporte estendido até setembro de 2026. Além disso, com o Java 11, o Oracle JDK não era mais gratuito para produção e uso c

Oracle JDK agora é livre?

    Olá Javeiros e Javeiras, h á uma boa notícia para todos os desenvolvedores Java e todos os clientes que usam Java sob uma licença comercial: o Oracle JDK está disponível gratuitamente a partir do JDK 17 ( publicado há poucos dias ). Novo modelo de licenciamento Informação retirada so site da Oracle : "Java 17 LTS é a versão de suporte de longo prazo mais recente para a plataforma Java SE. Os binários do JDK 17 podem ser usados gratuitamente na produção e podem ser redistribuídos, sem nenhum custo, de acordo com a Licença de Termos e Condições Gratuitas da Oracle ." O JDK 17 receberá atualizações sob esses termos, pelo menos até setembro de 2024. Confira a notícia completa: https://blogs.oracle.com/oracle-brasil/post/java-gratuito Esta licença gratuita inclui o JDK e as atualizações de segurança trimestrais também para uso comercial e de produção. A nova licença é a licença “Oracle No-Fee Terms and Conditions” (NFTC) e permite o uso gratuito para todos os usuários, m

Java 16 - Pattern Matching for instanceof

  Java 16 - Pattern Matching for instanceof Este é mais um recurso introduzido no Java 14 como preview e continuou assim até ser liberado definitivamente no Java 16 . O objetivo é deixar o instanceof mais simples e seguro uma vez que o “ cast” é feito em tempo de compilação. Mas não é apenas isso... public class Animal {   public void dizerOla (Animal animal) {       if (animal instanceof Cao cao) {           cao.latir();       } else if (animal instanceof Gato gato) {           gato.miar();       }   } } Ainda podemos utilizar expressões mais complexas para validar a instância } else if (animal instanceof Gato gato && gato.getIdade() > 5) { Neste caso, podemos ter algumas restrições quanto às expressões após o instanceof . Por exemplo, não podemos utilizar a expressão ||. A explicação para isso é que por causa da semântica do operador ||, a variável padrão gato pode não ter sido atribuída e, portanto, a análise de fluxo determina que a vari