CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 对象序列化入门:为什么需要它

    JAVA 25 SELF
    等级 42,课时 0
    为何以及如何在 Java 中“打包”对象:使用 ObjectOutputStream/ ObjectInputStream 将对象转换为字节流并再还原,在多次运行之间保存状态、通过网络传输以及缓存结果。解析接口 Serializable 的作用,关键字 transient 的细节以及诸如 "save.dat" 这样的文件名,讨论安全风险与版本兼容性。实践:游戏迷你存档、客户端↔服务器消息发送与计算结果缓存。
    可用
  • Serializable 接口:基本原理

    JAVA 25 SELF
    等级 42,课时 1
    讲解 Java 中的序列化基础:标记接口 java.io.Serializable,如何通过 implements Serializable 标记类,对字段的要求( static、 transient),使用 ObjectOutputStream/ ObjectInputStream 逐步演示对象的写入与读取;调用 writeObject/ readObject 时“底层”发生了什么;以及常见错误(不可序列化的字段、内部类、 static 字段的行为,以及通过 serialVersionUID 控制的类版本)。
    可用
  • 标准序列化格式:二进制与文本

    JAVA 25 SELF
    等级 42,课时 2
    在本讲中,我们将比较 Java 的二进制序列化(通过类 ObjectOutputStream 和 ObjectInputStream)与文本格式( JSON、 XML):工作原理、速度与紧凑性、版本兼容性与安全性。我们会分析优点与限制,展示使用 Jackson(包括 Maven 依赖)的实践,并给出何时选择哪种格式的建议,以及常见错误。
    可用
  • ObjectOutputStream、ObjectInputStream:操作流

    JAVA 25 SELF
    等级 42,课时 3
    在本讲中,我们讲解如何使用成对的对象流 ObjectOutputStream 和 ObjectInputStream 在 Java 中对对象进行序列化与反序列化:什么是标记接口 java.io.Serializable, writeObject() 和 readObject() 方法如何工作,为什么 static 和 transient 字段不会进入流,会遇到哪些异常( NotSerializableException、 InvalidClassException),以及 serialVersionUID 有何影响。实践部分把一个对象和对象列表序列化到文件,并解析典型错误。
    可用
  • 集合的序列化:List, Map, Set

    JAVA 25 SELF
    等级 42,课时 4
    Java 集合序列化实用指南:如何通过 ObjectOutputStream/ ObjectInputStream 保存和恢复 List、 Map、 Set;为什么大多数集合已经实现了 Serializable;对元素的要求; HashSet/ HashMap 中的顺序行为;处理嵌套和空集合;常见陷阱( InvalidClassException、 serialVersionUID、 transient/ static)。最后以一个“虚拟图书馆”的完整示例收尾。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
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
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym