Garbage collector en Java: G1, ZGC y cómo elegir
Comparación de G1 y ZGC en Java 21: cómo funcionan, cómo habilitarlos, lectura de registros GC, verificación del GC en ejecución y criterios para elegir GC en aplicaciones Spring Boot.
Comparación de G1 y ZGC en Java 21: cómo funcionan, cómo habilitarlos, lectura de registros GC, verificación del GC en ejecución y criterios para elegir GC en aplicaciones Spring Boot.
Usa LocalDate, ZonedDateTime y Duration en el lugar correcto: calcula fechas, cambia zonas horarias, maneja el horario de verano y escribe tests estables con Clock.
Comparación entre List.of, List.copyOf y Collections.unmodifiableList: cuál es una copia, cuál solo es una vista, cómo manejan null, y cuándo usar cada una.
Compara los tipos de thread pool en Java 21: fixed, cached, scheduled, work-stealing, virtual thread. Cómo configurar ThreadPoolExecutor manualmente y usarlo de forma segura en Spring Boot.
Distingue entre excepciones checked y unchecked, elige el tipo correcto, diseña excepciones propias con contexto y evita anti-patrones comunes.
Usa Comparator.comparing, thenComparing, reversed y nullsLast para ordenar por múltiples criterios, con los errores más comunes.
Aprende a agrupar y dividir datos con Collectors.groupingBy, partitioningBy y downstream collectors como counting, mapping, filtering en Java 21.
Escribe strings multilínea de forma concisa con text blocks, aprende las reglas de indentación y escape, y domina los nuevos métodos de String como formatted, stripIndent, translateEscapes.
Entender por qué List<Integer> no es List<Number>, cuándo usar ? extends, cuándo usar ? super, y el principio PECS con ejemplos prácticos.
Cómo usar try-with-resources para cerrar automáticamente recursos, escribir tu propia clase AutoCloseable, entender excepciones suprimidas y errores comunes.
Comparación de HashMap, Collections.synchronizedMap y ConcurrentHashMap en thread-safety, mecanismo de lock, iterator, null y rendimiento, con ejemplos y pruebas.
Entiende el contrato entre equals() y hashCode() en Java, cómo implementarlos correctamente y los errores comunes que hacen que HashSet y HashMap funcionen mal.
Usa CompletableFuture en Java 21 para llamar a múltiples servicios en paralelo, encadenar y combinar resultados, manejar errores, aplicar timeouts y escribir pruebas para código asincrónico.
Usa sealed classes, pattern matching para switch y record patterns en Java 21 para reemplazar cadenas de if-instanceof con código más corto, verificado por el compilador para cubrir todos los casos.
Guía para usar Optional en Java correctamente, con los anti-patrones comunes y cómo evitarlos para un código más claro y seguro.
Aprende los cuatro "pilares" de Stream API en Java a través de ejemplos reales con Order, Customer – desde filtrar datos hasta agregar resultados.
Descubre qué problemas resuelven los records en Java, cómo usarlos correctamente en DTOs, value objects, y qué casos evitar.
Aprende sobre virtual threads en Java 21 con ejemplos concretos, compáralos con platform threads y cómo usarlos en Spring Boot.