Documentación visual de Java

Aprende Java viendo qué pasa por dentro.

Diagramas animados, bytecode paso a paso y la máquina virtual explicada sin humo. Todo lo que ocurre entre tu código y la salida.

De Java 8 a Java 25 · En español

terminal
  1. javac HelloWorld.java
  2. java HelloWorld
  3. ¡Hola, mundo!
/para escribir

javap -c es la etapa 3 de la rutaVer la ruta

La ruta

Del código a la pantalla, sin cajas negras

Cinco etapas. La misma ruta que sigue tu programa cada vez que ejecutas java.

Abre una etapa para ver el detalle. También funciona con Enter.

  1. Escribes una clase con un método main y un mensaje.

  2. Revisa los tipos y traduce tu código a bytecode.

  3. Instrucciones portables que cualquier JVM entiende.

  4. Carga la clase, verifica el bytecode y lo ejecuta.

  5. El programa escribe el resultado en la salida estándar.

El camino

Un recorrido progresivo, de cero a concurrencia

Cada etapa se apoya en la anterior. Puedes leerlo de corrido o ir directo a lo que necesitas hoy.

  1. Fundamentos

    La JVM, los tipos y el control de flujo. Empiezas con un Hola, mundo y ves qué hace javac por ti.

    8 capítulos
  2. Programación Orientada a Objetos

    Clases, encapsulamiento, herencia e interfaces, con diagramas de memoria que se leen de un vistazo.

    6 capítulos
  3. Collections y Streams

    Listas, mapas y conjuntos, más el pipeline funcional de Stream: qué colección usar y cuándo.

    6 capítulos
  4. Concurrencia

    Hilos, estados, locks y memoria compartida. Lo que rompe en producción, explicado igual de claro.

    6 capítulos

Visualizaciones

Los estados de un hilo, paso a paso

El ciclo de vida de un Thread. El diagrama se entiende completo sin JavaScript; con los controles puedes probar cada transición y ver cuáles acepta la máquina virtual.

  1. NEWEl hilo existe, pero todavía nadie llamó a start().
  2. RUNNABLEEstá en la cola del planificador esperando su turno de CPU.
  3. BLOCKEDOtro hilo tiene el monitor y este se quedó esperando el lock.
  4. WAITINGHizo wait() o join(): aguarda que otro hilo lo despierte.
  5. TERMINATEDEl run() volvió o lanzó una excepción: ya no vuelve.

Estado actual: NEW

NEW: El hilo existe, pero todavía nadie llamó a start().

Todo Java, explicado como se ve.

Sin anuncios, sin registro y sin cookies. Un sitio estático generado en el build, sin backend ni base de datos.

  • Estático
  • Sin cookies
  • Sin cuentas
Empezar por los fundamentos