Quien sabe Java y aprendió con la versión 8

Java moderno

Del Java de 2008 al de hoy: records, sealed, streams e hilos virtuales

La mayoría de quien "sabe Java" aprendió el Java de hace quince años y sigue escribiéndolo así. Este curso va de lo que cambió —records, sealed, pattern matching en switch, Optional, streams, hilos virtuales— y de las trampas que siguen tumbando servicios en producción: la igualdad sin hashCode, el caché de Integer, los efectos secundarios en streams paralelos y los bugs de visibilidad entre hilos, que no son carreras y por eso cuestan tanto de encontrar. Once módulos y trece ejercicios. Todo el material usa Java 21 o superior.

4 niveles11 lecciones4 horasCertificadoDesbloqueo secuencial

Temario

1

Nivel 1 — Datos

01
Punto de partida

Java 21, qué es real aquí y comprobación del entorno.

Vista previa
02
Records y datos inmutables

La clase de 60 líneas que ahora son 3, el constructor compacto y la copia defensiva.

🔒 22 min
03
Igualdad: == frente a equals

El caché de Integer y el bug de equals sin hashCode, que solo aparece con HashSet.

🔒 18 min
04
null, Optional y contratos

El error de mil millones de dólares, gestionado. Y el NPE que no tiene ningún null escrito.

🔒 20 min
2

Nivel 2 — Expresividad

01
Streams

Declarativo y perezoso, con sus dos trampas: efectos secundarios y parallelStream gratis.

🔒 26 min
02
Sealed y pattern matching

Que el compilador te avise si olvidas un caso. Tipos algebraicos en Java.

🔒 24 min
03
Colecciones y su coste

Elegir por complejidad, no por costumbre. Con la ConcurrentModificationException clásica.

🔒 18 min
3

Nivel 3 — Producción

01
Concurrencia

Hilos virtuales, el modelo de memoria y un bug de visibilidad que el synchronized vecino no arregla.

🔒 28 min
02
Memoria y recursos

El recolector recoge objetos, no descriptores de archivo. try-with-resources y fugas reales.

🔒 18 min
4

Nivel 4 — Cierre

01
Pruebas con JUnit 5

Parametrizadas, excepciones y nombres que se leen como una especificación.

🔒 22 min
02
Proyecto final

Un dominio pequeño bien modelado: sealed, records y un switch exhaustivo sin default.

🔒 36 min

Por qué ves candados. El acceso no se deduce de una orden pagada sino de un entitlement activo, y esta sesión no tiene uno para este curso. Entra como ana@criswily.local para verlo desbloqueado y como bruno@criswily.local para comprobar que el bloqueo es real — los dos son del mismo tenant, así que la diferencia no la puede hacer el aislamiento por tenant.