对象序列化

来源:互联网 发布:mysql如何添加触发器 编辑:程序博客网 时间:2024/06/10 05:13

对象序列化:将保存在内存中的对象数据转换为二进制流传送另一个设备。

序列化就是将某个对象的属性内容保存。(不含方法),如某个属性不需序列化,就将该属性在声明的时候带transient

需序列化的类必须实现Serializable接口.

定义serialVersionUID是为了标示版本。Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

实现序列化:java.io.ObjectOutputStream

ObjectOutputStreamoo =new ObjectOutputStream(new FileOutputStream("E:/aaa.txt"));

oo.writeObject(new Hello());

反序列化:java.io.ObjectInputStream

readObject();

即先打开一个字节流设备,通过writeObject,readObject读写序列化对象。

 

1)Java序列化就是把对象转换成字节序列,Java反序列化就是把字节序列还原成Java对象。

2)采用Java序列化与反序列化技术,一是可以实现数据的持久化,在MVC模式中很是有用;二是可以对象数据的远程通信。

原创粉丝点击