Java序列化与反序列化
序列化
保证对象可传递性和完整性
将对象转为字节流,可以保存在本地或在网上传输
保存对象状态和重建
反序列化
根据字节流,重建对象
为什么需要序列化与反序列化
分布式对象需要序列化
保存完整的对象数据
将内存中的对象保存到文件中
将文件,数据,对象格式统一
序列化必须要满足两个条件:
- 该对象必须实现 java.io.Serializble 接口
- 改对象的所有属性必须是可序列化的,若有属性不可序列化也须注明是短暂的
检验一个类是否可以被序列化,可以检验该类是否实现 Serializble 接口
如何序列化与反序列化
实现Serializabel接口
java.io.Serialization
保留状态
java.io.Externalizable
不保留状态,反序列化后是默认值
实现Externalizable接口的类必须要提供一个public的无参的构造器。
序列化并不保存静态变量。
Reference
https://blog.csdn.net/yaomingyang/article/details/79321939
https://www.cnblogs.com/javazhiyin/p/11841374.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)