您的位置:首页 > 其它

序列化和反序列化

2015-02-23 16:00 211 查看


什么是序列化和反序列化:

序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。

当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。

把对象转换为字节序列的过程称为对象的序列化。

把字节序列恢复为对象的过程称为对象的反序列化。

为什么要将对象序列化:

1、跨进程传递数据:

     
通过值将对象从一个应用程序域发送到另一个应用程序域中,当两个进程在进行远程通信时,彼此可以发送各种类型的数据,无论是何种数据类型,都将以二进制序列的形式在网络上传送。所以两个进程在进行通信时,不可避免的需要将传输对象序列化以二进制的形式进行传送。

2、将对象信息转换成可存储形式:

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

序列化的实例 :

序列化概念的提出和实现,可以使我们的应用程序的设置信息保存和读取更加方便。我们举两个例子让大家更好的理解序列化和反序列化:
1、比如,一个计数器,数值为2,我们可以用字符串“2”表示。反过来,字符串”2”也可代表一个计数器实例。

2、又比如,在A机器上产生一个实例,初始化完毕,然后可以序列化,通过网络传送到B机器,然后反序列化,得到对象实例,之后再执行某些业务逻辑,得到结果,再序列化,返回给A机器,这样A机器得到对象实例,同时获得执行结果。这个例子是目前比较先进的“智能代理(一种动态分布式服务)”的原理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: