Java序列化与反序列化

序列化

保证对象可传递性和完整性
将对象转为字节流,可以保存在本地或在网上传输
保存对象状态和重建

反序列化

根据字节流,重建对象

为什么需要序列化与反序列化

分布式对象需要序列化
保存完整的对象数据
将内存中的对象保存到文件中
将文件,数据,对象格式统一

序列化必须要满足两个条件:

  1. 该对象必须实现 java.io.Serializble 接口
  2. 改对象的所有属性必须是可序列化的,若有属性不可序列化也须注明是短暂的
    检验一个类是否可以被序列化,可以检验该类是否实现 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

posted @   NetUSA  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示