序列化:把对象转换为字节序列的过程。
反序列化:把字节对象恢复为对象的过程。
用途:将对象转换为字节序列变成了可存储,可传输的状态。
需要被序列化的对象必须实现了Serializable的接口。
对象序列化包括如下步骤:
1) 创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流;
2) 通过对象输出流的writeObject()方法写对象。
对象反序列化的步骤如下:
1) 创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入流;
2) 通过对象输入流的readObject()方法读取对象。
每个需要序列化的类都有一个long型的serialVersionUID
版本号ID如果不显示添加serialVersionUID,那么在之后对类进行修改的时候(如添加,删除属性等)会抛出异常。因为没有显示UID的时候,系统会通过类似报文摘要算法生成一个UID,当有修改的时候则生成新的UID从而发生冲突,抛出异常。
Person类 范例使用
网友评论