对象处理流
1、ObjectOutputStream 提供序列化
2、ObjectInputStream 提供反序列化
3、序列化:保存数据的值和类型
4、反序列化:恢复数据的值和类型
5、需要让某对象和其所属类支持序列化,该类必须实现以下两接口之一
(1)Serializable:标记接口,没有方法(建议)
(2)Externalizable:该接口有需要实现的方法
6、序列化后,不是储存文本,而是按其他格式保存
7、序列化顺序、反序列化顺序要一致,否则抛出异常
8、保证序列化、反序列化的类信息(路径)一致
(1)若序列化的类有更改,要重新序列化,才能反序列化,即类更改后是没有同步的,程序会认为该类是一个新类
(2)可以序列化版本号,提高兼容性
private static final long serialVersionUID = 1L;
9、序列化的类可以被继承,某类实现序列化,其子类默认实现序列化
10、序列化对象时,默认将所有属性序列化,除 static / transient 成员,要求属性类型也实现序列化接口
11、序列化保存的是对象的状态,静态变量属于类的状态,因此,序列化并不保存静态变量
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战