对象的序列化(了解原理就可以)
• 对象序列化的目标是将对象保存到磁盘上,或允许在网络中直接传输对象。
• 如果需要让某个对象支持序列化机制,则必须让的类是可序列化的,为了让某个类是可序列化的,该类必须实现如下两个接口之一:
• Serializable
• Externalizable
Private static final long serialVersionUID=1L;
类的版本号:用于对象的序列化。具体用于读取对象时对硬盘上对象的版本和程序对象的版本是否一致,若不一致则读取失败,并抛出异常。
例如:public classPerson implements Serializable{}
假如,在中途,对Person 类重构了,修改了,则会导致版本不一致
使用对象流序列化对象(了解原理就可以)
一:若某个类实现了 Serializable 接口,该类的对象就是可序列化的:
①:创建一个ObjectOutputStream
②:调用ObjectOutputStream 对象的 writeObject() 方法输出可序列化对象
反序列化
①:创建一个ObjectInputStream
②:调用readObject() 方法读取六种的对象
如果某个类的字段不是基本数据类型或String 类型,而是另一个引用类型,那么这个引用类型必须是可序列化的,否则拥有该类型的 Field的类也不能序列化