问答详情
源自:6-2 transient及ArrayList源码分析

序列化和反序列化具体用在什么地方

序列化和反序列化具体可以做什么 什么情况下 需要 用到序列化 和反序列化??

提问者:卖报者的无奈 2015-11-11 18:47

个回答

  • 雲中菩提
    2015-11-11 21:30:35
    已采纳


    序列化就是保存对象数据状态的。反序列化就是恢复对象数据状态的。

    再打个比方吧:

    Cookie,用户数据被序列化,保存在本地。可以看到,Cookie实现了序列化接口:

    public class Cookie implements Cloneable, Serializable ()

    你在打开购物网站时,网站(TB)的服务器在城市 A,它会通过浏览器读取到cookies里的数据,上传到服务器端并反序列化,从而获取cookies里保存的信息,保证你登录信息,或购物车里的商品不丢失。

    但当你下订单付款时,付款的服务器(ZFB)在城市B,那么,你的用户信息,就必须序列化,(网络传输数据是二字节)由城市A,飞快地到到城市B,并在付款的服务器(ZFB)上反序列化,重建你的信息,无须再登录,即可完成付款!

    你的用户数据分别在 本地→城市A→城市B完成了旅行(传递),并保持了数据与状态的一致性。

  • 阿猫阿狗汪喵喵
    2016-02-16 14:26:29

    以下情况下需要序列化:

    a)当你想把的内存中的对象保存到一个文件中或者数据库中时候;
    b)当你想用套接字在网络上传送对象的时候;
    c)当你想通过RMI传输对象的时候;