
Agora é a hora de revelar as surpresas do Java 21, então Bora Praticar explorando as principais atualizações.
🚀Faster Startup Times:
Otimizações da inicialização, permitindo lançamentos de aplicativos mais rápidos. Diga adeus aos longos tempos de espera na inicialização da aplicação e dê as boas-vindas à melhoria da eficiência.
🧬Pattern Matching Enhancements:
A correspondência de padrões foi um recurso introduzido no Java 14 e dar outro salto à frente no Java 21 como você nunca viu. Agora inclui aprimoramentos adicionais na sintaxe, tornando o código mais conciso e legível. Sem dúvida, essa melhoria aumenta a produtividade da gente como desenvolvedor e a qualidade do código.
Exemplo:
if (obj instanceof Cliente cliente) {
System.out.println("Cliente: " + cliente.getNome());
}
Enhanced Switch Expressions:
O Java 21 também traz melhorias para as expressões de switch, que já haviam sido introduzidas no Java 14 e fizeram muito sucesso. Essas melhorias permitem utilizar padrões mais flexíveis e legíveis nas expressões de switch, o que facilita lidar com lógicas condicionais complicadas.
Exemplo:
var dia = "Sábado"; // valor recebido no contexto da aplicação
int diaIndex =
switch (dia)
{
case "Segunda-feira" -> 1;
case "Terça-feira" -> 2;
case "Quarta-feira" -> 3;
case "Quinta-feira" -> 4;
case "Sexta-feira" -> 5;
case "Sábado","Domingo" -> 6;
default -> throw new IllegalArgumentException("Dia Inválido.");
};
System.out.println("Index do Dia: " + diaIndex);
// Neste caso, o valor resultante da variável "diaIndex" é 6
Records and Immutability:
Introduzidos no Java 16, oferecem uma forma concisa de definir classes de dados imutáveis. No Java 21 ficam ainda melhor, essa atualização tornando mais fácil trabalhar com dados imutáveis e melhorando a manutenção geral do código.
Exemplo:
public record Cliente(String nome, String email, String telefone)
{
// O construtor com os campos são gerados automaticamente e mais os métodos equals(), hashCode() e toString()
}
Sealed Classes Enhancements:
Introduzidas no Java 15, oferecem mais controle sobre as hierarquias de classes. No Java 21, essa funcionalidade foi aprimorada, permitindo maior flexibilidade aos desenvolvedores para personalizar e ajustar as hierarquias de classes, de acordo com os requisitos específicos da aplicação.
public sealed class Pessoa permits Professor, Aluno, Funcionario
{
// a palavra 'sealed' define que a class Pessoa tem subclass especificas
// em seguida temos a palavra 'permits' que vai explicitar as Subclasses, neste caso Professor, Aluno, Funcionario
}
Garbage Collection
O Java 21 traz algoritmos aprimorados para esse recurso, o que resulta em melhor desempenho e redução do uso de memória para as aplicações. Os desenvolvedores podem esperar uma eficiência geral superior as versões anteriores e um melhor gerenciamento de recursos, levando a um comportamento otimizado da aplicação.
Virtual Threads:
São threads que reduzem drasticamente o esforço de escrever, manter e observar aplicações simultâneas de alto rendimento na plataforma Java. Além de oferecem uma alternativa mais eficiente às threads da plataforma, permitindo que os desenvolvedores lidem com várias tarefas com um custo menor. Essas threads são compatíveis com código Java existente e oferecem uma migração tranquila para aproveitar o melhor desempenho e utilização de recursos.
Exemplo:
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
IntStream.range(0, 50_000).forEach(i -> {
executor.submit(() -> {
Thread.sleep(Duration.ofSeconds(2));
return i;
});
});
}
Method Main:
O Java é uma excelente linguagem para aplicações complexas, grandes e empresariais, feitas por vários desenvolvedores. Por isso, as dificuldades iniciais devem ser as menores possíveis. Então foi removido todo código desnecessário na versão Java 21 e desta forma, evitando a complexidade para quem está começando.
class Application {
void main() {
System.out.println("Hello World!");
}
}
Por hoje é isso:
O Java 21 com essas novidades incríveis que vão turbinar sua experiência de programação e te permitir construir aplicações Java como você nunca viu.
Quero muito saber o que você achou das mudanças que estão chegando no Java 21 e o que te deixa mais animado(a) sobre essas melhorias?
Espero que tenha curtido o artigo e muito obrigado por ter chegado até aqui e até a próxima.
Como sempre meu amigo Madson fazendo a diferença na área da tecnologia!!.
Forte a braço e estamos juntos.
Sensacional essas novidades.