CodeGym
Promoción
CodeGym University
Aprendizaje
Cursos
Tareas
Encuestas & Cuestionarios
Juegos
Ayuda
Horario
Comunidad
Usuarios
Foro
Chat
Artículos
Historias de éxito
Actividad
Reseñas
Suscripciones
Tema claro

Lecciones

  • Reseñas
  • Sobre nosotros
Comenzar
Comenzar a aprender
Comienza a aprender ahora
  • Mi progreso
  • Cursos
  • Universidad
  • Mapa de misiones
  • Lecciones
  • Compresión y perfilado de la serialización

    JAVA 25 SELF
    Nivel 45,Lección 4
    Cómo reducir el tamaño y acelerar la serialización de objetos en Java: excluimos campos innecesarios con transient, tomamos control total mediante Externalizable, aplicamos compresión en streaming ( GZIPOutputStream, ZipOutputStream), aceleramos la E/S con almacenamiento en búfer ( BufferedOutputStream, BufferedInputStream) y copia rápida con FileChannel. transferTo. Para evaluar el rendimiento utilizamos tanto mediciones rápidas con System. nanoTime() como microbenchmarks fiables con JMH. Cerraremos con un mini experimento y el análisis de errores típicos.
    Disponible
  • Fundamentos de JSON: estructura, sintaxis y ventajas

    JAVA 25 SELF
    Nivel 46,Lección 0
    Introducción breve y moderna al formato de intercambio de datos JSON: qué es y por qué se ha convertido en el estándar de facto para REST API; estructuras básicas — objetos { } y arrays [ ]; tipos permitidos (cadenas "...", números, valores booleanos true/ false, null); anidamiento; comparación con XML; correspondencias JSON ↔ Java (colecciones Map<K, V>, HashMap<K, V>). Analizamos ejemplos prácticos y errores típicos: comillas simples, comas sobrantes, undefined, números con ceros a la izquierda.
    Disponible
  • Jackson — lectura y escritura de JSON, anotaciones

    JAVA 25 SELF
    Nivel 46,Lección 1
    Jackson es el estándar de facto para trabajar con JSON en Java: desde operaciones simples de serialización y deserialización mediante ObjectMapper hasta un ajuste fino con las anotaciones @JsonProperty, @JsonIgnore, @JsonInclude, @JsonFormat. En la lección veremos cómo añadir la dependencia ( jackson-databind), la lectura y escritura de objetos y colecciones, el pretty printing, el trabajo con fechas y los errores típicos, incluidos los genéricos con TypeReference y los requisitos para los POJO (constructor sin parámetros, getters/setters).
    Disponible
  • Gson — serialización y deserialización, configuración

    JAVA 25 SELF
    Nivel 46,Lección 2
    En esta lección analizamos la biblioteca Google Gson: inicio rápido con los métodos toJson/ fromJson, deserialización de colecciones mediante TypeToken<>, configuración flexible con GsonBuilder ( setPrettyPrinting, serializeNulls, setDateFormat). Veremos las anotaciones @SerializedName, @Expose, el versionado con @Since/ @Until, adaptadores propios mediante TypeAdapter y registerTypeAdapter, y luego compararemos con Jackson y revisaremos errores típicos.
    Disponible
  • Trabajo con estructuras dinámicas: Map, List, JsonNode

    JAVA 25 SELF
    Nivel 46,Lección 3
    Cuando la estructura de un JSON es desconocida de antemano o cambia con frecuencia, es más cómodo trabajar no con clases de Java rígidas, sino con contenedores universales: Map, List y árboles JSON. En la lección vemos cómo, con ObjectMapper, leer los datos en Map<String, Object> y List; cómo recorrer el árbol de forma segura mediante JsonNode y sus métodos get/ path/ asText(); y también la alternativa con Gson usando JsonElement, JsonObject, JsonArray. Cerramos con práctica de extracción de configuración y un repaso de errores típicos.
    Disponible
  • Validación de JSON: JSON Schema, errores de validación

    JAVA 25 SELF
    Nivel 46,Lección 4
    Para qué y cómo comprobar los datos de entrada en formato JSON antes de deserializar: analizamos el contrato de datos con JSON Schema (claves type, properties, required, format), validamos en Java con la biblioteca everit-org/json-schema (carga de esquema en Schema, llamada a validate), gestionamos correctamente ValidationException y formamos mensajes de error claros para usuarios y API.
    Disponible
  • Fundamentos de XML y espacios de nombres

    JAVA 25 SELF
    Nivel 47,Lección 0
    Una introducción breve y práctica a XML: estructura básica (elementos, atributos, nodos de texto, comentarios, CDATA), el prólogo y, sobre todo, para qué sirven los espacios de nombres y cómo declararlos y usarlos mediante los atributos xmlns y xmlns:prefix. Veremos los prefijos, el espacio por defecto ( xmlns= "URI"), la mezcla de diferentes “vocabularios” en un mismo documento y los errores típicos de análisis.
    Disponible
  • Trabajo con DOM y SAX: análisis de XML

    JAVA 25 SELF
    Nivel 47,Lección 1
    En esta lección analizamos dos enfoques clásicos para procesar XML: el basado en árbol, DOM, y el basado en eventos, SAX. Aprenderás a leer y modificar documentos a través del árbol ( Document, Element, NodeList) y a procesar archivos grandes en streaming con manejadores de eventos ( SAXParser, DefaultHandler, startElement/ characters/ endElement). Mostraremos pros y contras de cada enfoque, ejemplos prácticos y revisaremos errores típicos (memoria, división del texto en characters, intentos de modificar XML en SAX).
    Disponible
  • StAX (Streaming API for XML) — análisis sintáctico en streaming

    JAVA 25 SELF
    Nivel 47,Lección 2
    Analizamos el análisis sintáctico en flujo (streaming) de XML con StAX: en qué se diferencia el modelo pull del enfoque push de SAX, cómo crear un parser mediante XMLInputFactory y leer eventos de XMLStreamReader con un bucle que llama a reader. next(), qué tipos de eventos existen ( START_ELEMENT, CHARACTERS, END_ELEMENT, END_DOCUMENT) y cuándo StAX es preferible a DOM/ SAX. Además: tabla comparativa de enfoques, diagrama Mermaid y revisión de errores típicos (fugas de flujos, anidamiento de elementos, excepciones XMLStreamException, IOException).
    Disponible
  • Trabajo con XML mediante JAXB: fundamentos, anotaciones

    JAVA 25 SELF
    Nivel 47,Lección 3
    Cómo, con JAXB (Jakarta XML Binding), convertir objetos de Java a XML y viceversa: anotaciones clave @XmlRootElement, @XmlElement, @XmlAttribute, @XmlType, @XmlTransient; clases básicas JAXBContext, Marshaller, Unmarshaller; configuración del formato mediante la propiedad Marshaller.JAXB_FORMATTED_OUTPUT. Revisamos las dependencias de Maven para Java 11+ ( jakarta.xml.bind-api, jaxb-runtime), el trabajo con colecciones y objetos anidados, el control del orden de los elementos ( propOrder), la exclusión de campos y los errores típicos.
    Disponible
  • Configuración de la serialización XML: adaptadores personalizados

    JAVA 25 SELF
    Nivel 47,Lección 4
    Cómo enseñar a JAXB a serializar tipos «no estándar» y a representar los datos en el formato deseado: usamos la anotación @XmlJavaTypeAdapter y escribimos adaptadores propios basados en XmlAdapter<ValueType, BoundType>. Veremos el formateo de fechas ( LocalDate → "dd.MM.yyyy"), números ( BigDecimal), el trabajo con colecciones, cómo pasar valores a atributos con @XmlAttribute, a elementos con @XmlElement y excluir campos con @XmlTransient. Practicaremos la serialización/deserialización con Marshaller/ Unmarshaller y analizaremos errores típicos.
    Disponible
  • Expresiones lambda: sintaxis y ámbitos de visibilidad

    JAVA 25 SELF
    Nivel 48,Lección 0
    Repasamos y profundizamos en las expresiones lambda en Java: sintaxis (parámetros, flecha ->, cuerpo), formas abreviadas sin paréntesis y sin return, relación con las interfaces funcionales ( Comparator, Runnable, Consumer), ejemplos cotidianos con listas, flujos y Stream API. Analizamos el ámbito de visibilidad y la regla «efectivamente final», la diferencia de this en lambdas y clases anónimas, así como los errores típicos y cómo evitarlos.
    Disponible
  • 1
  • ...
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...
  • 30
Aprender
  • Registro
  • Curso de Java
  • Ayuda con tareas
  • Precios
  • Sintaxis de Java
Comunidad
  • Usuarios
  • Artículos
  • Foro
  • Chat
  • Historias de éxito
  • Actividad
  • Programa de afiliados
Empresa
  • Acerca de nosotros
  • Contactos
  • Reseñas
  • Sala de prensa
  • CodeGym para EDU
  • Preguntas frecuentes
  • Soporte
CodeGymCodeGym es un curso en línea para aprender programación Java desde cero. Este curso es una forma perfecta de dominar Java para principiantes. Contiene más de 1.200 tareas con verificación instantánea y un conjunto esencial de teoría sobre los fundamentos de Java. Para ayudarte a tener éxito en la formación, hemos implementado una serie de funciones motivacionales: cuestionarios, proyectos de programación, contenido sobre aprendizaje eficiente y contenidos sobre la carrera profesional de un desarrollador Java.
Síguenos
Idioma de la interfaz
English Deutsch
Español
हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Los programadores se hacen, no nacen" © 2026 CodeGym
MastercardVisa
"Los programadores se hacen, no nacen" © 2026 CodeGym