标签:serializable 序列化 反序列化 writeobject
1. 对象序列化
将一个对象转换为字节形式的过程就是对象序列化。序列化还有个名称为串行化,序列化后的对象再被反序列化后得到的对象,与之前的对象不再是同一个对象。
1)对象序列化必须实现Serializable接口,但该接口无任何抽象方法,不需要重写方法,只为了标注该类可序列化。
2)且同时建议最好添加版本号(编号随便写):serialVersionUID。版本号,用于匹配当前类与其被反序列化的对象是否处于同样的特征(属性列表一致等)。反序列化时,ObjectInputStream会根据被反序列化对象的版本与当前版本进行匹配,来决定是否反序列化。 不加版本号可以,但是可能存在反序列化失败的风险。
3)JDK提供的大多数java bean都实现了该接口
4)transient关键字:序列化时忽略被它修饰的属性。
5)对象的序列化使用的类:ObjectOutputStream
writeObject(Object obj):①将给定对象序列化。②然后写出。
6)对象的反序列化使用的类:ObjectInputStream
Object readObject():将读取的字节序列还原为对象
案例28:
本文出自 “永远年轻” 博客,请务必保留此出处http://kingkongzhao.blog.51cto.com/6319491/1682940
标签:serializable 序列化 反序列化 writeobject
原文地址:http://kingkongzhao.blog.51cto.com/6319491/1682940