0Pricing
Java Academy icon

Java Academy

JAVABackendWebMobileEnterpriseBeginnerCloudDatabaseAndroidDesktopNetwork

Domina la programación en Java y desarrolla aplicaciones potentes con Java Academy.

🤖 Impulsado por IA📚 104 cursos👥 100.000+ estudiantes⭐ Calificación 4,9
Descripción general del curso

Java: De la Primera Clase a Sistemas de Nivel Productivo

Java ha sido la columna vertebral del software empresarial, el desarrollo Android y los sistemas backend a gran escala durante casi tres décadas. Se ejecuta en la JVM, incluye una rica biblioteca estándar y potencia todo, desde plataformas de trading financiero hasta microservicios en la nube. Esta pista construye competencia genuina en Java — comenzando con variables y control de flujo, y terminando con internals de la JVM, virtual threads y compilación nativa a través de GraalVM.

Qué Aprenderás

Avanzarás desde la sintaxis central — variables, tipos de datos, bucles y métodos — pasando por el diseño orientado a objetos con clases, herencia, polimorfismo, sealed classes y records. Las etapas intermedias cubren el framework Collections completo, las APIs java.time y NIO.2, expresiones lambda, interfaces funcionales y la Streams API incluyendo collectors, spliterators y primitive streams. Los cursos posteriores abordan configuración de Spring Boot e inyección de dependencias, Spring Data JPA, validación de REST APIs, testing de integración con JUnit 5 y seguridad basada en JWT. El final avanzado de la pista cubre ExecutorService, locks, variables atómicas, CompletableFuture, structured concurrency, virtual threads a través de Project Loom, class loading de la JVM y bytecode, compilación de native image con GraalVM y profiling de rendimiento con JMH.

La Ruta de Aprendizaje

Más de 120 cursos abarcan desde A1 hasta C2. Los cursos A1 y A2 establecen los fundamentos: el sistema de tipos, casting, autoboxing, clases wrapper, arrays, condicionales y métodos. B1 cubre Java orientado a objetos en profundidad — enums, clases internas, iterators, comparators, internals de HashMap, manejo de excepciones, serialización y herramientas de construcción como Maven y Gradle. B2 introduce programación funcional, generics con bounded wildcards, anotaciones personalizadas y una secuencia práctica de Spring Boot terminando en un Mini Proyecto: REST API. Los cursos C1 son donde concurrency y rendimiento toman protagonismo — parallel streams, el Java Memory Model, garbage collection, reflection, dynamic proxies y structured concurrency. La pista cierra en C2 con la Foreign Function and Memory API, la capacidad Java de nivel más bajo para interoperar directamente con código nativo.

Cómo Funciona

Cada curso se divide en lecciones breves y enfocadas que completas en el editor de código integrado con retroalimentación en tiempo real. Un tutor de IA está disponible cuando te atascas, y mini proyectos en hitos clave — Word Stats, Shape Hierarchy, Log Analyzer, REST API y Parallel Stats — te permiten aplicar lo que has aprendido antes de avanzar.

Comienza a aprender →

Cómo Aprenderás

🎯
Lecciones Interactivas
Ejercicios de codificación prácticos con retroalimentación en tiempo real
🤖
Tutor de IA
Obtén ayuda instantánea de nuestro IA cuando te atasques
💻
Editor Integrado
Escribe y ejecuta código directamente en tu navegador
🏆
Certificado
Obtén un certificado al completar el curso
Plan de Estudios

104 Cursos

Todos los cursos en la ruta de aprendizaje Java Academy.

01

Introducción a Java

A13 lecciones

Java es un lenguaje de programación de alto nivel y orientado a objetos, presentado en 1995 por Sun Microsystems. Reconocido por su capacid…

02

Scanner y entrada de consola

A14 leccionesPRO

Scanner y entrada de consola: leer entradas con Scanner, leer números y líneas, y mucho más

03

Hola Java y configuración del IDE

A13 leccionesPRO

Comience su recorrido por Java: aprenda qué es la programación, cómo se ejecuta Java en la JVM y qué herramientas necesitará a continuación…

04

Fundamentos esenciales de variables y expresiones

A13 leccionesPRO

Domine las variables y expresiones de Java: aprenda los tipos primitivos, las declaraciones, la asignación, la impresión de valores y los f…

05

Sistema de tipos y conversiones de Java

A24 leccionesPRO

Domine el sistema de tipos de Java: tipos primitivos frente a tipos de referencia, conversiones de ampliación y reducción, conversión explí…

06

Matemáticas y formato de números en Java

A24 leccionesPRO

Explore la clase Math, BigDecimal para la precisión financiera, NumberFormat para salidas adaptadas a la locale y la resolución práctica de…

07

Expresiones switch y sintaxis de flecha

A24 leccionesPRO

Expresiones switch y sintaxis de flecha: switch con estilo de flecha, switch como expresión y mucho más

08

Bloques de texto y cadenas multilínea

A24 leccionesPRO

Bloques de texto y cadenas multilínea: declarar bloques de texto, sangría y eliminación de sangría, y mucho más

09

var e inferencia de tipos locales

A24 leccionesPRO

var e inferencia de tipos locales: usar var para variables locales, cuándo var mejora la legibilidad y mucho más

10

Clases envoltorio y autoboxing

A24 leccionesPRO

Clases envoltorio y autoboxing: tipos primitivos frente a tipos envoltorio, autoboxing y unboxing, y mucho más

11

La clase auxiliar Arrays

A24 leccionesPRO

La clase auxiliar Arrays: Arrays.sort y ordenación, Arrays.binarySearch y mucho más

12

Utilidades Random y Math de Java

A24 leccionesPRO

Utilidades Random y Math de Java: la clase Math, generar números aleatorios y mucho más

13

Leer entradas con BufferedReader

A24 leccionesPRO

Lea de forma eficiente entradas del usuario y de archivos en Java.

14

Expresiones ternarias y condicionales en Java

A24 leccionesPRO

Escriba decisiones compactas con el operador condicional.

15

Char y métodos de Character en Java

A24 leccionesPRO

Trabaje con caracteres individuales mediante la clase Character.

16

Dar formato a la salida con printf

A24 leccionesPRO

Genere texto con un formato cuidado mediante especificadores de formato.

17

Bucles etiquetados y control de flujo en Java

A24 leccionesPRO

Controle bucles anidados con break, continue y etiquetas.

18

Condiciones I: fundamentos de if/else

A23 leccionesPRO

Tome decisiones en Java utilizando if, else if y else. Cree expresiones booleanas claras con operadores de comparación y lógicos. Lecciones…

19

Condiciones II: operadores y switch

A23 leccionesPRO

Profundice en las comparaciones (==, !=, <, >, <=, >=) y la lógica booleana (&&, ||, !). Aprenda la precedencia, la agrupación con paréntes…

20

Bucles I: while y do-while

A22 leccionesPRO

Aprenda los bucles while paso a paso: inicialización, condición, actualización y cómo evitar los bucles infinitos. Practique pequeños patro…

21

Bucles II: for y patrones

A23 leccionesPRO

Domine el bucle for: inicialización, condición y actualización en una sola línea. Escriba bucles de conteo, sumas y patrones sencillos. Apr…

22

Operadores de Java

A21 lecciónPRO

Java nos ofrece muchos operadores para trabajar con los datos que tenemos. Con ayuda de estos operadores podemos manipular dichos datos. En…

23

Cadenas en Java

A21 lecciónPRO

El tipo de dato String se utiliza en Java para almacenar datos de texto. Las cadenas son tipos de datos de referencia, no tipos primitivos,…

24

Arrays I: arrays unidimensionales

A23 leccionesPRO

Aprenda sobre los arrays unidimensionales: qué son, cómo declararlos y crearlos, cómo acceder a sus elementos y actualizarlos, cómo utiliza…

25

Matrices II: matrices bidimensionales

A26 leccionesPRO

Aprenda matrices bidimensionales en Java: declárelas y créelas, acceda a filas y columnas e itere con bucles anidados. Practique el cálculo…

26

Métodos I: conceptos básicos

A23 leccionesPRO

Domine los fundamentos de los métodos de Java: firmas, parámetros frente a argumentos, convenciones de llamada y diseño básico. Lecciones b…

27

Métodos II: diseño y reutilización

A23 leccionesPRO

Diseñe y reutilice métodos de forma eficaz: comprenda la semántica de paso por valor de Java, elija entre métodos estáticos y de instancia,…

28

Enums de Java

B14 leccionesPRO

Aprenda a definir y usar enums en Java: constantes enum, campos, métodos, expresiones switch con enums y las colecciones EnumSet/EnumMap.

29

Records de Java y datos inmutables

B14 leccionesPRO

Descubra los Records de Java (Java 16+): creación de contenedores de datos inmutables, constructores compactos, métodos personalizados en r…

30

StringBuilder y rendimiento de cadenas

B14 leccionesPRO

StringBuilder y rendimiento de cadenas: por qué las cadenas son inmutables, construir cadenas con StringBuilder y mucho más

31

BigDecimal y BigInteger

B14 leccionesPRO

BigDecimal y BigInteger: por qué no usar double para el dinero, trabajar con BigDecimal y mucho más

32

API de fecha y hora java.time

B14 leccionesPRO

API de fecha y hora java.time: LocalDate, LocalTime, LocalDateTime, Instant y Duration, y mucho más

33

Optional de Java

B14 leccionesPRO

Use Optional para eliminar las excepciones NullPointerException: cree, transforme, filtre y consuma Optionals de forma idiomática en Java 1…

34

Profundización en las cadenas de Java

B14 leccionesPRO

Vaya más allá de las cadenas básicas: StringBuilder, StringJoiner, expresiones regulares, String.format, bloques de texto y patrones habitu…

35

Varargs, sobrecarga y miembros estáticos de Java

B14 leccionesPRO

Domine la resolución de sobrecargas de métodos, los parámetros varargs, los campos y métodos estáticos y los patrones de diseño de clases d…

36

Clases internas y anónimas de Java

B14 leccionesPRO

Explore las variantes de clases anidadas: clases anidadas estáticas, clases internas, clases locales y clases anónimas, así como cuándo con…

37

Iteradores e Iterable de Java

B14 leccionesPRO

Implemente las interfaces Iterable e Iterator personalizadas para que sus propias estructuras de datos sean compatibles con los bucles for-…

38

Comparadores y ordenación en Java

B14 leccionesPRO

Ordene colecciones y matrices mediante Comparable, Comparator, referencias a métodos y cadenas de ordenación multinivel en situaciones real…

39

LinkedList y Deque de Java

B14 leccionesPRO

Comprenda el funcionamiento interno de LinkedList, su estructura doblemente enlazada, las operaciones de Deque, la simulación de pilas y cu…

40

TreeMap y TreeSet de Java

B14 leccionesPRO

Domine las colecciones ordenadas: operaciones de NavigableMap de TreeMap, TreeSet para elementos únicos ordenados, subMap/headMap/tailMap y…

41

API Path y Files de Java NIO.2

B14 leccionesPRO

Navegue por la moderna API java.nio.file: creación de Path, métodos de utilidad de Files, recorrido de directorios con walkFileTree y super…

42

Serialización de Java y persistencia de objetos

B14 leccionesPRO

Comprenda la serialización de Java: la interfaz Serializable, los campos transient, serialVersionUID, writeObject/readObject personalizados…

43

Clases e interfaces selladas

B14 leccionesPRO

Clases e interfaces selladas: declarar tipos sellados, cláusula permits y mucho más

44

Pattern Matching para instanceof y records

B14 leccionesPRO

Pattern Matching para instanceof y records: Pattern Matching para instanceof, patrones de record y mucho más

45

Expresiones regulares con Pattern y Matcher

B14 leccionesPRO

Expresiones regulares con Pattern y Matcher: compilar patrones, buscar y comprobar coincidencias, y mucho más

46

Entresijos de HashMap y equals/hashCode

B14 leccionesPRO

Entresijos de HashMap y equals/hashCode: cómo funciona HashMap, el contrato de equals/hashCode y mucho más

47

EnumMap, EnumSet y enumeraciones avanzadas

B14 leccionesPRO

EnumMap, EnumSet y enumeraciones avanzadas: enumeraciones con campos y métodos, métodos abstractos en enumeraciones y mucho más

48

Logging con SLF4J y Logback

B14 leccionesPRO

Logging con SLF4J y Logback: por qué usar logging estructurado, fachada y loggers de SLF4J, y mucho más

49

Paquetes y modificadores de acceso

B11 lecciónPRO

Java utiliza modificadores de acceso para limitar el acceso entre objetos. Esto puede aplicarse a nivel de clase, así como a nivel de varia…

50

Miniproyecto: estadísticas de palabras

B13 leccionesPRO

Cree una pequeña herramienta de estadísticas de palabras: divida el texto en tokens, normalícelo, cuéntelos y muestre los resultados princi…

51

POO I: clases y objetos

B13 leccionesPRO

Aprenda los conceptos básicos de las clases y los objetos en Java. Cree clases sencillas, instancie objetos y comprenda su función en la PO…

52

POO II: prácticas

B13 leccionesPRO

Prácticas habituales de POO en Java: la palabra clave this, un toString legible, equals y hashCode correctos, y consejos prácticos para apl…

53

Herencia I

B13 leccionesPRO

Aprenda los conceptos básicos de la herencia en Java: extienda una clase base, llame a constructores super y reutilice comportamientos comu…

54

Abstracciones e interfaces

B13 leccionesPRO

Clases abstractas e interfaces en Java: cuándo usarlas, cómo declararlas y cómo orientan el diseño.

55

Miniproyecto: jerarquía de figuras

B13 leccionesPRO

Diseñe e implemente una pequeña jerarquía de figuras con una base abstracta, figuras concretas y comportamientos polimórficos.

56

Colecciones I: listas y conjuntos

B13 leccionesPRO

Aprenda a usar las listas y los conjuntos de Java: cuándo utilizar cada uno, operaciones básicas y patrones sencillos de iteración.

57

Colecciones II: mapas y algoritmos

B13 leccionesPRO

Aprenda a usar Maps para realizar búsquedas clave→valor, contar frecuencias y aplicar algoritmos sencillos con listas y conjuntos.

58

Excepciones I: fundamentos

B13 leccionesPRO

Aprenda los conceptos básicos del manejo de excepciones: bloques try, catch y finally con ejemplos sencillos.

59

Excepciones II: práctica

B13 leccionesPRO

Aplique el manejo de excepciones con excepciones personalizadas, sentencias throw y programación defensiva.

60

Archivos y E/S I

B13 leccionesPRO

Aprenda a usar las clases Path y Files de Java NIO: crear, comprobar y eliminar archivos de forma segura.

61

Archivos y E/S II

B13 leccionesPRO

Aprenda la serialización de objetos en Java: escriba objetos en archivos y léalos posteriormente.

62

Miniproyecto: analizador de registros

B13 leccionesPRO

Cree un analizador de registros sencillo para leer, analizar y resumir archivos de registro.

63

Herramientas de compilación: Maven y Gradle

B14 leccionesPRO

Herramientas de compilación: Maven y Gradle: estructura de proyectos Maven, plugins y objetivos de Maven, y mucho más

64

JDBC y agrupación de conexiones

B14 leccionesPRO

JDBC y agrupación de conexiones: fundamentos de JDBC, PreparedStatement y mucho más

65

Profundización en los Collectors de Streams de Java

B24 leccionesPRO

Vaya más allá de los Streams básicos: groupingBy, partitioningBy, toMap, counting, summarizingInt, joining y creación de Collectors persona…

66

Referencias a métodos de Java

B24 leccionesPRO

Simplifique las expresiones lambda mediante referencias a métodos: referencias estáticas, de instancia, de instancia arbitraria y de constr…

67

Patrones de diseño en Java: creacionales

B24 leccionesPRO

Implemente los cuatro patrones creacionales clave en Java: Singleton (seguro para subprocesos), Factory Method, Abstract Factory y Builder…

68

Patrones de diseño en Java: de comportamiento

B24 leccionesPRO

Domine los patrones de diseño de comportamiento en Java: Observer, Strategy, Command y Template Method, con casos de uso concretos de aplic…

69

Interfaces funcionales en profundidad

B24 leccionesPRO

Interfaces funcionales en profundidad: Function y BiFunction, Supplier y Consumer, y mucho más

70

Streams de tipos primitivos

B24 leccionesPRO

Streams de tipos primitivos: IntStream y LongStream, operaciones de rango y agregación, y mucho más

71

Wildcards acotados y PECS

B24 leccionesPRO

Wildcards acotados y PECS: wildcards con límite superior, wildcards con límite inferior y mucho más

72

Interfaces y genéricos

B23 leccionesPRO

Interfaces en la práctica y conceptos básicos de los genéricos de Java para escribir código más seguro y reutilizable.

73

Anotaciones personalizadas en Java

B24 leccionesPRO

Defina anotaciones personalizadas, políticas de retención y destinos, y procéselas en tiempo de ejecución con reflection y en tiempo de com…

74

Operaciones avanzadas con Stream y Spliterator

B24 leccionesPRO

Descubra funciones avanzadas de Stream: flatMap sobre estructuras anidadas, peek para depuración, riesgos de los streams paralelos, interna…

75

Spring Boot: configuración e inyección de dependencias

B24 leccionesPRO

Domine la autoconfiguración de Spring Boot, las propiedades de la aplicación, los perfiles, @Bean, @Component, @Service, @Repository y las…

76

Spring Data JPA: entidades y repositorios

B24 leccionesPRO

Mapee entidades de Java a tablas de bases de datos con anotaciones de JPA, defina repositorios de Spring Data, escriba consultas JPQL y nat…

77

API REST con Spring Boot: validación y gestión de errores

B24 leccionesPRO

Construya API REST sólidas: Bean Validation con @Valid, validadores personalizados, gestión global de excepciones con @ControllerAdvice y d…

78

Pruebas con JUnit 5: parametrizadas y de integración

B24 leccionesPRO

Vaya más allá de las pruebas unitarias básicas: pruebas parametrizadas con @MethodSource y @CsvSource, Testcontainers para integración con…

79

Seguridad en Java: hashing, cifrado y JWT

B24 leccionesPRO

Implemente los fundamentos de seguridad en Java: MessageDigest para hashing, cifrado AES, HMAC-SHA256 y creación y verificación de JWT sin…

80

El sistema de módulos de Java (JPMS)

B24 leccionesPRO

El sistema de módulos de Java (JPMS): module-info.java, requires y exports, y mucho más

81

El cliente HTTP moderno

B24 leccionesPRO

El cliente HTTP moderno: java.net.http.HttpClient, solicitudes asíncronas y mucho más

82

GraalVM y Native Image

B24 leccionesPRO

GraalVM y Native Image: qué es GraalVM, crear una imagen nativa y mucho más

83

Lambdas e interfaces funcionales

B23 leccionesPRO

Aprenda sobre las lambdas y las interfaces funcionales de Java.

84

Streams I: canalizaciones

B23 leccionesPRO

Aprenda a utilizar los Streams de Java para procesar datos mediante canalizaciones.

85

Introducción a Spring Boot

B23 leccionesPRO

Comience a trabajar con Spring Boot: configure el proyecto, utilice starters y ejecute su primera aplicación.

86

Datos y servicios

B23 leccionesPRO

Aprenda a utilizar Spring Data JPA y la base de datos H2 con repositorios.

87

Pruebas y entrega

B23 leccionesPRO

Pruebe aplicaciones Spring con WebTestClient/JUnit, configuración y empaquetado.

88

Miniproyecto: API REST

B24 leccionesPRO

Diseñe, implemente y pruebe una API REST con Spring Boot.

89

ExecutorService y grupos de hilos de Java

C14 leccionesPRO

Gestione los ciclos de vida de los hilos con ExecutorService: grupos de hilos fijos, en caché y programados, envío de tareas Callable y ges…

90

Locks y variables atómicas de Java

C14 leccionesPRO

Vaya más allá de synchronized: ReentrantLock, ReadWriteLock, StampedLock, AtomicInteger, AtomicReference y patrones de estructuras de datos…

91

Streams paralelos y rendimiento

C14 leccionesPRO

Streams paralelos y rendimiento: crear streams paralelos, cuándo ayuda el paralelismo y mucho más

92

Gestión de memoria y recolección de basura en Java

C14 leccionesPRO

Comprenda el modelo de memoria de la JVM: regiones del heap (Young/Old/Metaspace), algoritmos de GC (G1, ZGC), fugas de memoria, profiling…

93

CompletableFuture y pipelines asíncronos en Java

C14 leccionesPRO

Componga operaciones asíncronas con CompletableFuture: thenApply, thenCompose, allOf, anyOf, exceptionally y construcción de pipelines no b…

94

Reflection y proxies dinámicos en Java

C14 leccionesPRO

Utilice la API de Reflection para inspeccionar e invocar clases en tiempo de ejecución, crear proxies dinámicos y comprender cómo framework…

95

Internals de la JVM: carga de clases y bytecode

C14 leccionesPRO

Explore el interior de la JVM: fases de carga de clases, jerarquía de cargadores bootstrap/extension/application, inspección de bytecode co…

96

Hilos virtuales (Project Loom)

C14 leccionesPRO

Hilos virtuales (Project Loom): qué son los hilos virtuales, crear hilos virtuales y mucho más

97

Concurrencia estructurada

C14 leccionesPRO

Concurrencia estructurada: el modelo de concurrencia estructurada, StructuredTaskScope y mucho más

98

Microbenchmarking con JMH

C14 leccionesPRO

Microbenchmarking con JMH: por qué usar JMH, escribir un benchmark y mucho más

99

Análisis y optimización del rendimiento de Java

C14 leccionesPRO

Análisis y optimización del rendimiento de Java: identificar cuellos de botella, Java Flight Recorder y mucho más

100

Streams II: rendimiento y dificultades

C13 leccionesPRO

Aprenda comportamientos avanzados de los Streams, incluido el orden y la evaluación con cortocircuito.

101

Concurrencia I

C12 leccionesPRO

Introducción a la concurrencia en Java con Threads, Executors y sincronización.

102

Concurrencia II

C13 leccionesPRO

Concurrencia avanzada: sincronización, bloqueos, atómicos y problemas habituales.

103

Miniproyecto: estadísticas en paralelo

C13 leccionesPRO

Cree un proyecto que calcule estadísticas en paralelo mediante streams y concurrencia.

104

API de funciones foráneas y memoria

C24 leccionesPRO

API de funciones foráneas y memoria: por qué FFM en lugar de JNI, MemorySegment y Arena, y mucho más

Preguntas frecuentes

Preguntas frecuentes

¿Es gratuito el curso Java Academy?

Sí. Puedes empezar el curso Java Academy gratis y completar sus lecciones interactivas sin costo alguno. Una suscripción opcional a PRO desbloquea herramientas avanzadas de IA y un certificado compartible.

¿Necesito experiencia previa para aprender JAVA?

No. El curso comienza con los fundamentos y avanza gradualmente hacia temas más avanzados, así que puedes empezar incluso sin experiencia previa en JAVA.

¿Cómo aprenderé JAVA en CoddyKit?

Aprendes haciendo. Las lecciones interactivas cortas combinan una explicación clara con un ejercicio de codificación práctico que se ejecuta en tiempo real, y un tutor de IA disponible 24/7 te da ayuda personalizada siempre que te atasques.

¿Obtengo un certificado al completar Java Academy?

Sí. Los aprendices PRO pueden hacer un examen y obtener un certificado compartible de finalización con un código verificable para el curso Java Academy.

¿Puedo aprender JAVA en mi teléfono?

Sí. CoddyKit está disponible en la web y como aplicaciones nativas para iOS y Android, así que puedes aprender JAVA en cualquier dispositivo y tu progreso se sincroniza entre ellos.

Comienza Java Academy Ahora

Únete a miles de estudiantes dominando programación con lecciones impulsadas por IA.

Empezar Gratis →Ver Todos los Cursos