序列化和反序列化是什么意思?一般用在什么地方?、?????????????????????????????????
主要用于存储对象状态为另一种通用格式,比如存储为二进制、xml、json等等,把对象转换成这种格式就叫序列化,而反序列化通常是从这种格式转换回来。
使用序列化主要是因为跨平台和对象存储的需求,因为网络上只允许字符串或者二进制格式,而文件需要使用二进制流格式,如果想把一个内存中的对象存储下来就必须使用序列化转换为xml(字符串)、json(字符串)或二进制(流)
举例说明:
比如一个表user 字段有 id,username,sex
在程序中是一个对象 user 那么转换为 json [{"id":"1","user":"name1","sex":"男"},{"id":"2","user":"name2","sex":"女"}]
不多说,这个讲的够详细。http://www.2cto.com/kf/201405/305380.html
方便网络传输数据。 java 虚拟化,反虚拟化。。
虚拟化之后你可以存在硬盘上,同时也可以从硬盘反虚拟化为原来的数据。主要就是方便传递数据。
简单来说一句话,就是内存中的对象是立体的(一个对象有很多属性,每个属性如果是对象的话,它又有很多属性,像一个树一样的结构),但是网络传输、存储文件都必须是一个序列,从前到后一组数据。
序列化就是拍扁对象变成一个序列数据的过程。
反序列化就是从这个序列中把数据读取出来,恢复内存中原始对象结构的过程。