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

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

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

Implantando o Flyway em sistemas Java - Parte 1

  Quando temos uma empresa terceirizada de fábrica de software desenvolvendo, geralmente especificamos no edital de licitação que essa empresa precisa entregar alguns artefatos obrigatórios para poder receber pelos serviços prestados: o código-fonte (óbvio!), diagramas UML (quando necessário), evidências de testes (artefato que cada vez mais me convenço que de nada serve)... e um plano de implantação. Esse plano de implantação precisa trazer os passos necessários para colocar o produto no ambiente de homologação (e, posteriormente, no ambiente de produção). Na maioria das vezes, um ou mais scripts de banco de dados que devem ser executados. Nós, servidores, tínhamos que abrir o plano de implantação, verificar os passos, acessar o versionador, abrir a ferramenta de banco de dados, copiar o(s) script(s), executá-los, tudo manualmente, gerando um trabalhinho chato e propenso a erros. Além disso, os scripts sempre ficavam meio perdidos: as vezes espalhados por pastas relativas às orden...