0% acharam este documento útil (0 voto)
2 visualizações9 páginas

Guia Java Moderno

O guia aborda as inovações do Java moderno, destacando recursos como Records, Pattern Matching, Sealed Classes, Text Blocks e Virtual Threads nas versões 17 a 21. Os Records simplificam a criação de classes de dados imutáveis, enquanto o Pattern Matching e as Sealed Classes melhoram a legibilidade e segurança do código. As Virtual Threads introduzidas no Java 21 permitem a criação de múltiplas threads de forma leve, otimizando tarefas de I/O bloqueante.

Enviado por

rafagomes53
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2 visualizações9 páginas

Guia Java Moderno

O guia aborda as inovações do Java moderno, destacando recursos como Records, Pattern Matching, Sealed Classes, Text Blocks e Virtual Threads nas versões 17 a 21. Os Records simplificam a criação de classes de dados imutáveis, enquanto o Pattern Matching e as Sealed Classes melhoram a legibilidade e segurança do código. As Virtual Threads introduzidas no Java 21 permitem a criação de múltiplas threads de forma leve, otimizando tarefas de I/O bloqueante.

Enviado por

rafagomes53
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Guia de Java Moderno (Versões 17 a 21)

1. Introdução ao Java Moderno


O ecossistema Java passou por mudanças drásticas desde o lançamento do Java 8. Com o novo

ciclo de lançamentos semestrais, as versões LTS (Long Term Support) como a 17 e a 21

consolidaram recursos que transformaram a verbosidade clássica da linguagem em uma sintaxe

elegante e performática.

Este guia aborda os pilares da produtividade: Records, Pattern Matching, Sealed Classes, Text

Blocks e as revolucionárias Virtual Threads.

Página 1
Guia de Java Moderno (Versões 17 a 21)

2. Record Classes (Páginas 2-3)


Records são classes de dados imutáveis. Antes, para criar um DTO, precisávamos de:

- Campos privados final

- Construtor canônico

- Getters

- equals() e hashCode()

- toString()

Com Java 17+, basta uma linha:

public record Product(String name, double price) {}

O compilador gera automaticamente todos os métodos citados acima. Records não podem

estender outras classes, mas podem implementar interfaces.

Página 2
Guia de Java Moderno (Versões 17 a 21)

Exemplo Avançado de Record:

public record Order(Long id, List<String> items) {

public Order {

if (items == null || [Link]()) {

throw new IllegalArgumentException('Items cannot be empty');

O construtor compacto acima permite validações sem repetir os parâmetros do record.

Página 3
Guia de Java Moderno (Versões 17 a 21)

3. Pattern Matching e Sealed Classes (Páginas 4-6)


Pattern Matching para 'instanceof' elimina o casting manual.

Antes:

if (obj instanceof String) {

String s = (String) obj;

[Link]([Link]());

Agora:

if (obj instanceof String s) {

[Link]([Link]());

Página 4
Guia de Java Moderno (Versões 17 a 21)

Sealed Classes permitem restringir a hierarquia de herança. Você define quem pode ser sua

subclasse.

public sealed interface Shape permits Circle, Square {}

public final class Circle implements Shape {}

public final class Square implements Shape {}

Isso é fundamental para a exaustividade no Switch.

Página 5
Guia de Java Moderno (Versões 17 a 21)

Switch Expressions:

var result = switch (shape) {

case Circle c -> 'Área do círculo';

case Square s -> 'Área do quadrado';

// default não é necessário se o switch for exaustivo em tipos selados

};

Página 6
Guia de Java Moderno (Versões 17 a 21)

4. Text Blocks e String Methods (Páginas 7-8)


Text Blocks (triple quotes) facilitam o uso de JSON, XML e SQL:

String json = """

"user": "Rafael",

"role": "Developer"

""";

Novos métodos úteis:

- [Link]()

- [Link]() (gera um Stream de linhas)

- [Link](n)

Página 7
Guia de Java Moderno (Versões 17 a 21)

5. Virtual Threads - Java 21 (Páginas 9-10)


Threads tradicionais (Platform Threads) são pesadas e mapeadas 1:1 ao Sistema Operacional. No

Java 21, as Virtual Threads permitem criar milhões de threads com baixo custo.

[Link]().start(() -> {

[Link]('Executando em Virtual Thread');

});

Página 8
Guia de Java Moderno (Versões 17 a 21)

As Virtual Threads são ideais para tarefas de I/O bloqueante (chamadas de API, Banco de Dados).

Elas 'estacionam' quando bloqueadas, liberando o processador para outras tarefas, mudando o

paradigma de escalabilidade sem precisar de programação reativa complexa.

Página 9

Você também pode gostar