CodeGym
AI Academy
CodeGym University
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
  • Serialização de objetos aninhados: particularidades

    JAVA 25 SELF
    Nível 44,Aula 0
    Nesta aula, analisamos como o Java realiza a serialização profunda de um grafo de objetos: o que acontece com campos de referência, por que todos os objetos aninhados devem implementar Serializable, como evitar NotSerializableException e em quais casos o modificador transient ajuda. Com exemplos, mostraremos a serialização/desserialização de objetos com aninhamento, coleções e referências cíclicas, além de discutir erros típicos relacionados a serialVersionUID e a grafos grandes de objetos.
    Disponível
  • Objetos aninhados e hierárquicos: serialização de grafos

    JAVA 25 SELF
    Nível 44,Aula 1
    Como o Java serializa estruturas de dados complexas: de coleções aninhadas e hierarquias de herança a grafos cíclicos de objetos. Vamos entender por que funciona a serialização Map<String, List<Book>>, como os tipos reais dos descendentes são preservados em List<Animal>, o que o mecanismo de referências faz em caso de ciclos e quais são as armadilhas comuns. Vamos falar sobre o papel de ObjectOutputStream/ ObjectInputStream, os métodos writeObject/ readObject, o campo serialVersionUID e o modificador transient.
    Disponível
  • O problema de referências cíclicas: detecção e tratamento

    JAVA 25 SELF
    Nível 44,Aula 2
    Analisamos o que são referências cíclicas em grafos de objetos, por que elas são perigosas para a serialização e como lidar com elas. Mostramos como os streams padrão do Java — ObjectOutputStream/ ObjectInputStream — rastreiam automaticamente os objetos já vistos e gravam referências (handles), prevenindo StackOverflowError. Abordamos as armadilhas da serialização customizada ( writeObject/ readObject, defaultWriteObject/ defaultReadObject) e também estratégias para contornar ciclos em JSON: anotações @JsonIdentityInfo, @JsonBackReference/ @JsonManagedReference, exclusão de campos via transient e uso de identificadores.
    Disponível
  • Identidade de objetos na serialização binária

    JAVA 25 SELF
    Nível 44,Aula 3
    Como o Java preserva e restaura a identidade dos objetos na serialização binária: por que a equivalência via a. equals( b) não é o mesmo que identidade ( a == b), como ObjectOutputStream/ ObjectInputStream rastreiam o grafo de objetos e gravam “referências repetidas” em vez de duplicatas, por que isso funciona corretamente com ciclos e como os métodos writeReplace() e readResolve() podem afetar a identidade resultante. Análise com exemplos: ciclos, referências compartilhadas, prática e erros comuns.
    Disponível
  • Análise dos erros mais comuns na serialização de coleções

    JAVA 25 SELF
    Nível 44,Aula 4
    Nesta aula, analisamos os problemas mais frequentes na serialização de coleções: desde java.io.NotSerializableException (quando os elementos não implementam Serializable) e armadilhas de genéricos com ClassCastException até incompatibilidade de versões de classes via serialVersionUID. Falaremos sobre nuances de coleções imutáveis ( List.of(), Set.of(), Map.of()), comportamento dos campos transient/ static, além de desempenho e tamanho de arquivos, onde ajudam gravação em streaming e compactação ( GZIPOutputStream). Você receberá conselhos práticos, exemplos de código e recomendações para desserialização segura ( readObject/ writeObject).
    Disponível
Aprender
  • Cadastro
  • Curso de Java
  • Ajuda com Tarefas
  • Preços
  • Projetos de jogos
  • 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