2 qq 34144726 qq_34144726 于 2016.03.02 16:09 提问

序列化和反序列化。。

序列化和反序列化是什么意思?一般用在什么地方?、?????????????????????????????????

4个回答

caozhy
caozhy   Ds   Rxr 2016.03.02 19:09

简单来说一句话,就是内存中的对象是立体的(一个对象有很多属性,每个属性如果是对象的话,它又有很多属性,像一个树一样的结构),但是网络传输、存储文件都必须是一个序列,从前到后一组数据。
序列化就是拍扁对象变成一个序列数据的过程。
反序列化就是从这个序列中把数据读取出来,恢复内存中原始对象结构的过程。

liuxiaoshuang002
liuxiaoshuang002   2016.03.02 16:17

主要用于存储对象状态为另一种通用格式,比如存储为二进制、xml、json等等,把对象转换成这种格式就叫序列化,而反序列化通常是从这种格式转换回来。

使用序列化主要是因为跨平台和对象存储的需求,因为网络上只允许字符串或者二进制格式,而文件需要使用二进制流格式,如果想把一个内存中的对象存储下来就必须使用序列化转换为xml(字符串)、json(字符串)或二进制(流)

举例说明:
比如一个表user 字段有 id,username,sex

在程序中是一个对象 user 那么转换为 json [{"id":"1","user":"name1","sex":"男"},{"id":"2","user":"name2","sex":"女"}]

luochoudan
luochoudan   Ds   Rxr 2016.03.02 16:45

不多说,这个讲的够详细。http://www.2cto.com/kf/201405/305380.html

rui888
rui888   Ds   Rxr 2016.03.02 17:28

方便网络传输数据。 java 虚拟化,反虚拟化。。
虚拟化之后你可以存在硬盘上,同时也可以从硬盘反虚拟化为原来的数据。主要就是方便传递数据。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!