CodeGym
Promoção
Aprendizagem
Cursos
Tarefas
Pesquisas & Questionários
Jogos
Ajuda
Cronograma
Comunidade
Usuários
Fórum
Chat
Artigos
Histórias de sucesso
Atividade
Avaliações
Assinaturas
Tema claro

Aulas

  • Avaliações
  • Sobre nós
Iniciar
Comece a aprender
Comece a aprender agora
  • Meu progresso
  • Cursos
  • Mapa da Missão
  • Aulas
  • Compressão e perfilamento da serialização

    JAVA 25 SELF
    Nível 45,Aula 4
    Como reduzir o tamanho e acelerar a serialização de objetos em Java: excluímos campos desnecessários com transient, assumimos controle total por meio de Externalizable, aplicamos compressão em fluxo ( GZIPOutputStream, ZipOutputStream), aceleramos o I/O com bufferização ( BufferedOutputStream, BufferedInputStream) e cópia rápida via FileChannel. transferTo. Para avaliar o desempenho, usamos tanto medições rápidas com System. nanoTime(), quanto microbenchmarks confiáveis com JMH. Encerramos com um mini‑experimento e uma análise de erros comuns.
    Disponível
  • Fundamentos de JSON: estrutura, sintaxe, vantagens

    JAVA 25 SELF
    Nível 46,Aula 0
    Introdução breve e moderna ao formato de troca de dados JSON: o que é e por que se tornou o padrão de fato para REST API; estruturas básicas — objetos { } e arrays [ ]; tipos permitidos (strings "...", números, valores booleanos true/ false, null), aninhamento, comparação com XML, correspondências JSON ↔ Java (coleções Map<K, V>, HashMap<K, V>). Analisamos exemplos práticos e erros típicos: aspas simples, vírgulas sobrando, undefined, números com zeros à esquerda.
    Disponível
  • Jackson — leitura e escrita de JSON, anotações

    JAVA 25 SELF
    Nível 46,Aula 1
    Jackson — o padrão de fato para trabalhar com JSON em Java: desde operações simples de serialização e desserialização via ObjectMapper até ajustes finos com as anotações @JsonProperty, @JsonIgnore, @JsonInclude, @JsonFormat. Na aula veremos como adicionar ( jackson-databind), ler e escrever objetos e coleções, pretty printing, trabalhar com datas e erros típicos, incluindo generics com TypeReference e requisitos para POJOs (construtor sem parâmetros, getters/setters).
    Disponível
  • Gson — serialização e desserialização, configuração

    JAVA 25 SELF
    Nível 46,Aula 2
    Nesta aula, analisamos a biblioteca Google Gson: início rápido com os métodos toJson/ fromJson, desserialização de coleções via TypeToken<>, configuração flexível com GsonBuilder ( setPrettyPrinting, serializeNulls, setDateFormat). Vamos ver as anotações @SerializedName, @Expose, versionamento @Since/ @Until, adaptadores próprios com TypeAdapter e registerTypeAdapter, e depois comparar com o Jackson e revisar erros típicos.
    Disponível
  • Trabalhando com estruturas dinâmicas: Map, List, JsonNode

    JAVA 25 SELF
    Nível 46,Aula 3
    Quando a estrutura do JSON é desconhecida de antemão ou muda com frequência, é mais conveniente trabalhar não com classes Java rígidas, mas com contêineres universais: Map, List e árvores JSON. Na aula, analisamos como usar ObjectMapper para ler dados em Map<String, Object> e List, como percorrer a árvore com segurança por meio de JsonNode e seus métodos get/ path/ asText(), e também uma alternativa com Gson usando JsonElement, JsonObject, JsonArray. Encerramos com prática de extração de configuração e análise de erros típicos.
    Disponível
  • Validação de JSON: JSON Schema, erros de validação

    JAVA 25 SELF
    Nível 46,Aula 4
    Por que e como verificar dados de entrada em formato JSON antes da desserialização: analisamos o contrato de dados via JSON Schema (chaves type, properties, required, format), validamos em Java com a biblioteca everit-org/json-schema (carregar o esquema em Schema, chamar validate), tratamos corretamente ValidationException e criamos mensagens de erro claras para usuários e APIs.
    Disponível
  • Fundamentos de XML e namespaces

    JAVA 25 SELF
    Nível 47,Aula 0
    Uma introdução curta e prática ao XML: estrutura básica (elementos, atributos, nós de texto, comentários, CDATA), composição do prólogo e, principalmente, para que servem os espaços de nomes e como declará-los e aplicá-los por meio dos atributos xmlns e xmlns:prefix. Vamos analisar os prefixos, o espaço padrão ( xmlns= "URI"), a mistura de diferentes “dicionários” em um único documento e erros típicos de parsing.
    Disponível
  • Trabalhando com DOM e SAX: parsing de XML

    JAVA 25 SELF
    Nível 47,Aula 1
    Nesta aula analisamos duas abordagens clássicas para analisar XML: a baseada em árvore DOM e a baseada em eventos SAX. Você vai aprender a ler e alterar documentos por meio da árvore ( Document, Element, NodeList) e a processar arquivos grandes em fluxo com handlers de eventos ( SAXParser, DefaultHandler, startElement/ characters/ endElement). Mostraremos prós e contras de cada abordagem, exemplos práticos e veremos erros típicos (memória, divisão de texto em characters, tentativas de modificação de XML no SAX).
    Disponível
  • StAX (Streaming API for XML) — parsing em fluxo

    JAVA 25 SELF
    Nível 47,Aula 2
    Exploramos o parsing em fluxo de XML com StAX: em que o modelo pull difere da abordagem push do SAX, como criar um parser via XMLInputFactory e ler eventos de XMLStreamReader em um loop com chamadas a reader. next(), quais são os tipos de eventos ( START_ELEMENT, CHARACTERS, END_ELEMENT, END_DOCUMENT) e quando o StAX é preferível a DOM/ SAX. Além disso: tabela comparativa das abordagens, diagrama Mermaid e análise de erros típicos (vazamentos de streams, aninhamento de elementos, exceções XMLStreamException, IOException).
    Disponível
  • Trabalhando com XML via JAXB: fundamentos, anotações

    JAVA 25 SELF
    Nível 47,Aula 3
    Como, com o JAXB (Jakarta XML Binding), transformar objetos Java em XML e vice-versa: anotações-chave @XmlRootElement, @XmlElement, @XmlAttribute, @XmlType, @XmlTransient; classes básicas JAXBContext, Marshaller, Unmarshaller; configuração da formatação pela propriedade Marshaller.JAXB_FORMATTED_OUTPUT. Abordamos as dependências do Maven para Java 11+ ( jakarta.xml.bind-api, jaxb-runtime), o trabalho com coleções e objetos aninhados, o controle da ordem dos elementos ( propOrder), a exclusão de campos e erros típicos.
    Disponível
  • Configuração da serialização XML: adaptadores personalizados

    JAVA 25 SELF
    Nível 47,Aula 4
    Como ensinar JAXB a serializar tipos “não padrão” e apresentar os dados no formato necessário: usamos a anotação @XmlJavaTypeAdapter e escrevemos adaptadores próprios com base em XmlAdapter<ValueType, BoundType>. Vamos analisar a formatação de datas ( LocalDate → "dd.MM.yyyy"), números ( BigDecimal), o trabalho com coleções, mover valores para atributos via @XmlAttribute, elementos via @XmlElement e a exclusão de campos com @XmlTransient. Vamos praticar serializar/desserializar com Marshaller/ Unmarshaller e ver erros típicos.
    Disponível
  • Expressões lambda: sintaxe e escopos

    JAVA 25 SELF
    Nível 48,Aula 0
    Revisamos e aprofundamos as expressões lambda em Java: sintaxe (parâmetros, seta ->, corpo), formas curtas sem parênteses e sem return, relação com interfaces funcionais ( Comparator, Runnable, Consumer), exemplos do dia a dia com listas, streams e Stream API. Analisamos o escopo e a regra “efetivamente final”, a diferença de this em lambdas e classes anônimas, bem como erros típicos e como evitá-los.
    Disponível
  • 1
  • ...
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...
  • 30
Aprender
  • Cadastro
  • Curso de Java
  • Ajuda com Tarefas
  • Preços
  • Sintaxe Java
Comunidade
  • Usuários
  • Artigos
  • Fórum
  • Chat
  • Histórias de sucesso
  • Atividade
  • Programa de afiliados
Empresa
  • Sobre nós
  • Contatos
  • Avaliações
  • Sala de imprensa
  • CodeGym for EDU
  • Perguntas frequentes
  • Suporte
CodeGymCodeGym é um curso online para aprender programação Java do zero. Este curso é uma maneira perfeita de dominar Java para iniciantes. Contém mais de 1.200 tarefas com verificação instantânea e um escopo essencial da teoria dos fundamentos de Java. Para ajudar você a ter sucesso nos estudos, implementamos um conjunto de recursos motivacionais: questionários, projetos de programação, conteúdo sobre aprendizagem eficiente e carreira de desenvolvedor Java.
Siga-nos
Idioma da interface
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
"Programadores se formam, não nascem" © 2026 CodeGym
MastercardVisa
"Programadores se formam, não nascem" © 2026 CodeGym