Java 序列化的机制和原理
责任编辑:黑鹰编辑 更新日期:2009-8-30
有关 Java 对象的序列化和反序列化也算是 Java 基础的一部分,下面对 Java 序列化的机制
和原理进行一些介绍。
Java 序列化算法透析
Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化
deserialization 是一种将这些字节重建成一个对象的过程。Java 序列化 API 提供一种处理对
象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及 Java
序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。
序列化的必要性
Java 中,一切都是对象,在分布式环境中经常需要将 Object 从这一端网络或设备传递到另
一端。这就需要有一种可以在两端传输数据的协议。Java 序列化机制就是为了解决这个问题而
产生。
如何序列化一个对象
一个对象能够序列化的前提是实现 Serializable 接口,Serializable 接口没有方法,更像
是个标记。有了这个标记的 Class 就能被序列化机制处理。
1. importjava.io.Serializable;
2.
3. classTestSerialimplementsSerializable{
4.
5. publicbyteversion=100;
6.
7. publicbytecount=0;
8.
9. }
然后我们写个程序将对象序列化并输出。ObjectOutputStream 能把 Object 输出成 Byte
流。我们将 Byte 流暂时存储到 temp.out 文件里。
1. publicstaticvoidmain(Stringargs[])throwsIOExceptio
n{
2.
3. FileOutputStreamfos=newFileOutputStream("temp.
out");
4.