Welcome

首页 / 软件开发 / JAVA / Java序列化的机制和原理

Java序列化的机制和原理2009-11-12longdick"s blog有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。

Java

序列化算法透析

Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。

序列化的必要性

Java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设备传递到另一端。这就需要有一种可以在两端传输数据的协议。Java序列化机制就是为了解决这个问题而产生。

如何序列化一个对象

一个对象能够序列化的前提是实现Serializable接口,Serializable接口没有方法,更像是个标记。有了这个标记的Class就能被序列化机制处理。import
java.io.Serializable;


class
TestSerial
implements
Serializable {


public

byte
version = 100;


public

byte
count = 0;

}

然后我们写个程序将对象序列化并输出。ObjectOutputStream能把Object输出成Byte流。我们将Byte流暂时存储到temp.out文件里。

public

static

void
main(String args[])
throws
IOException {

FileOutputStream fos =
new
FileOutputStream("temp.out");

ObjectOutputStream oos =
new
ObjectOutputStream(fos);

TestSerial ts =
new
TestSerial();

oos.writeObject(ts);

oos.flush();

oos.close();

}