标签:java串行化 java序列化 串行化 serializable
串行化(Serialization)也称序列化,它使得一个程序可以把一个完整的对象写到一个Byte流里面。通过反串行化(Deserialization)可以从一个Byte流里读出一个事先存储在里面的完整对象。
串行化可以把Java对象和原始数据类型转换成一个合适于某种网络或文件系统的Byte流,Java程序员不需要直接处理存储在硬盘上的原始数据,就可以轻易将一个Java对象和一个二进制流之间相互转换。
反串行化有时也称并行化,并行化可以将被串行化的对象内部的状态恢复,也就是说重新实例化被串行化的对象。
将一个Java对象串行化必须实现java.io.Serializable接口或者java.io.Externalizable接口。Serializable接口是一个标识接口,没有声明任何方法,Externalizable接口是Serializable接口的子接口,声明了两个方法,writeExternal(ObjectOutput out)和readExternal(ObjectInput in)方法。writeExternal是串行化的时候调用的,readExternal是反串行化时调用的,实现该方法必须实现这两个方法,所以在实际运用中,Serializable接口使用较为普遍。
具体怎么将一个Java对象串行化和反串行化,可以看我的另一篇博文【设计模式】对象的克隆-原型模式,这篇博文主要是对原型模式中提到的序列化进行补充说明。
Author:立礼
Sign:人生不要有太多的幻想,而要有更多的行动。
标签:java串行化 java序列化 串行化 serializable
原文地址:http://blog.csdn.net/lzgs_4/article/details/45621661