Garbage collector no Java: G1, ZGC e como escolher
Compare G1 e ZGC no Java 21: como funcionam, como ativar, ler GC log, verificar qual GC está rodando e critérios para escolher o GC para sua aplicação Spring Boot.
Compare G1 e ZGC no Java 21: como funcionam, como ativar, ler GC log, verificar qual GC está rodando e critérios para escolher o GC para sua aplicação Spring Boot.
Use LocalDate, ZonedDateTime e Duration corretamente: calcule datas, converta fusos horários, gerencie horário de verão e escreva testes estáveis com Clock.
Compare List.of, List.copyOf e Collections.unmodifiableList: qual faz cópia, qual é apenas uma view, como lidam com null, e quando usar cada um.
Compare tipos de thread pool no Java 21: fixed, cached, scheduled, work-stealing, virtual thread. Como configurar ThreadPoolExecutor e usar com segurança no Spring Boot.
Diferencie exceções checked e unchecked, escolha o tipo certo, projete exceções customizadas com contexto e evite anti-patterns comuns.
Use Comparator.comparing, thenComparing, reversed e nullsLast para ordenar por múltiplos critérios, incluindo erros comuns ao usar.
Aprenda como agrupar e particionar dados com Collectors.groupingBy, partitioningBy e downstream collectors como counting, mapping, filtering em Java 21.
Escreva strings multi-linhas de forma mais concisa com text blocks, domine as regras de indentação e escape, e conheça os novos métodos String como formatted, stripIndent, translateEscapes.
Entenda por que List<Integer> não é List<Number>, quando usar ? extends, quando usar ? super, e o princípio PECS através de exemplos práticos.
Como usar try-with-resources para fechar recursos automaticamente, escrever sua própria classe AutoCloseable, entender exceções suprimidas e evitar erros comuns.
Comparação entre HashMap, Collections.synchronizedMap e ConcurrentHashMap em thread-safety, mecanismo de lock, iterator, null e desempenho, com exemplos e testes.
Entenda o contrato entre equals() e hashCode() em Java, como implementar corretamente e os erros comuns que fazem HashSet e HashMap funcionarem incorretamente.
Use CompletableFuture em Java 21 para chamar múltiplos serviços em paralelo, combinar resultados, tratar erros, timeouts e escrever testes para código assíncrono.
Use sealed classes, pattern matching para switch e record patterns no Java 21 para substituir cadeias if-instanceof por código mais curto, com compiler verificando todos os casos.
Guia para usar Optional em Java corretamente, com anti-patterns comuns e como evitá-los para ter um código mais claro e seguro.
Aprenda os quatro "pilares" da Stream API em Java através de exemplos práticos com Order, Customer – desde filtragem de dados até agregação de resultados.
Saiba o que records em Java resolvem, como usá-los corretamente para DTOs, value objects, e quando evitá-los.
Entenda virtual threads no Java 21 com exemplos práticos, compare com platform threads e como usar no Spring Boot.