Pular para o conteúdo principal

Uma nova versão do Java foi lançada. Uma versão bem importante!

 

A última terça-feira viu o lançamento de mais uma versão do Java - a versão 17. Atualmente, esta não costuma ser uma grande notícia, já que com o atual ritmo de lançamentos da plataforma, temos duas versões por ano - em março e em setembro. Entretanto, esta versão é especial. Ela é uma versão LTS, que vem substituir a versão LTS anterior, a versão 11. E porque o lançamento das versões LTS é tão importante?

Já falei um pouco sobre as versões LTS do Java no post sobre o lançamento do Jakarta EE 9.1. LTS é uma sigla que significa Long Term Support, suporte de longo prazo em uma tradução livre. São versões que o fabricante se compromete a dar suporte por um período mais longo, se tornando mais indicadas para utilização pelas empresas, que precisam desse tipo de suporte para garantir o funcionamento adequado do seu negócio. O órgão onde trabalho utiliza esta estratégia e recentemente migramos para a versão 11 do Java (quem sabe ano que vem a gente consiga migrar para esta nova versão...). Quando o seu negócio se torna mais sério e importante, você perde um pouco de espaço para se arriscar tanto atualizando versões sempre que são lançadas. Ainda mais em um ritmo acelerado como o atual do Java. Mas ainda precisa se manter atualizado, e as versões LTS são uma ótima opção pelo suporte fornecido pelos fabricantes, que garantem atualizações de segurança e correção de bugs, mantendo a compatibilidade de versão.

As novidades específicas desta nova versão 17 são poucas: 

  • Remoção de algumas bibliotecas como RMI Activation e compiladores experimentais AOT e JIT;
  • A Applet API foi marcada como deprecated for removal, significando que ela deve ser removida em breve do Java - um marco, certamente, já que o começo da fama (e da má fama também...) do Java se deu com os applets;
  • Sealed Classes - inovação que permite limitar quais interfaces e classes podem estender ou implementar uma classe ou interface;
Estas foram as poucas e principais novidades desta nova versão. Porém, quando acumulamos as novidades desde o Java 11, aí temos muitas novidades - confira todas neste link.

Outra novidade que a Oracle quer vingar é alterar o tempo entre as versões LTS. Atualmente, o intervalo está definido em três anos: a versão 11 foi lançada em setembro de 2018 e a atual versão saiu agora, três anos depois. A intenção da Oracle é reduzir este intervalo para dois anos, o que tornaria a próxima versão LTS como sendo a versão 21. Sinceramente, ainda não consegui processar esta intenção e não cravo ainda se esta alteração seria melhor ou pior para os clientes.

Mas não para por aí. A Oracle alterou a licença desta nova versão do Java. Nas versões anteriores, a utilização era permitida apenas para uso pessoal e para desenvolvimento. Para esta nova versão, 17, já é permitida a utilização para "operações internas de negócios". Veja a licença aqui.

Então é isso, muitas novidades no mundo Java, que não está parado e continua se esforçando para não ficar para trás, seja na parte Java SE ou na parte Java EE, agora conhecida como Jakarta EE.

Um abraço e até o próximo post!

Comentários

Postar um comentário

Postagens mais visitadas deste blog

Maven - Versão nova lançada

  Saiu versão nova do Maven - 3.8.2. Esta foi apenas uma versão de correção de bugs, mas a versão anterior, a 3.8.l, foi uma versão importante e vou aproveitar para falar sobre ela. Quem acompanha o histórico de versões do Maven , deve ter percebido o pulo de versão, da 3.6.3 para esta 3.8.1. A razão está explicada neste link , e o grande motivo foi tentar evitar problemas de segurança pelo acesso a repositórios via protocolo HTTP. Por default, esta versão 3.8.1 do Maven bloqueia o acesso a repositórios HTTP - você precisa acessar repositórios HTTPS . O bloqueio acontece com a adição de um mirror chamado "maven-default-http-blocker", bloqueando todo e qualquer acesso a repositórios HTTP externos. <mirror>    <id>maven-default-http-blocker</id>    <mirrorOf>external:http:*</mirrorOf>   <name>Pseudo repository to mirror external repositories initially using HTTP.</name>    <url>http://0.0.0.0/</u...

REST Assured

Recentemente, fiz uma apresentação no meu trabalho falando sobre o framework REST Assured, que permite construir testes unitários que verificam o funcionamento de serviços REST. Confira a apresentação abaixo!

Jakarta EE 10, A nova versão corporativa do Java

Mais de um ano atrás, fiz um post sobre o lançamento da versão 9.1 do Jakarta EE (confira esse post aqui ). Nesse post, eu expliquei um pouco sobre a transferência do Java EE da Oracle para a Eclipse Foundation e a mudança necessária ocorrida nessa versão no nome dos pacotes: de javax para jakarta . Agora, acabou de sair uma nova versão do Jakarta EE , versão 10 , a primeira versão que verdadeiramente traz novidades nas especificações que tanto conhecemos: JPA agora evoluiu para a versão 3.1; CDI para a versão 4.0; JAX-RS  para a versão 3.1; e assim por diante. Foram mais de vinte especificações atualizadas / evoluídas nesta versão, que criou também um novo perfil de implementação. Agora, temos três perfis para implementação do Jakarta EE :  Jakarta EE 10 Platform , o perfil completo com todas as especificações (este perfil somente os servidores de aplicação costumam implementar, como Wildfly e Glassfish ); Jakarta EE 10 Web Profile , um perfil com especificações volta...