序列化和反序列化我现在的理解

序列化就是把实体对象状态按照一定的格式写入到有序字节流,反序列化就是从有序字节流重建对象,恢复对象状态。

打个比方,你从家里要寄一台组装电脑给朋友,序列化和反序列化就好比是寄快递和收快递一样;

序列化就是要寄快递,反序列化就是要收快递;

java.io.ObjectOutputStream(表示对象输出流)
它的writeObject(Object obj)方法可以对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中;
这个过程就好比是你把电脑的主机、显示器、键盘、鼠标、音响等一个一个拆下来,包裹好,最后做个记号表明是你寄的,
这个记号就好比是Serializable或Externalizable接口;

java.io.ObjectInputStream:(表示对象输入流)
它的readObject()方法源输入流中读取字节序列,再把它们反序列化成为一个对象,并将其返回;
这个过程就好比是朋友收到了你的快递一样,把电脑的主机、显示器、键盘、鼠标、音响等一个一个重组起来,还是同一台电脑;
这就是电脑世界里的邮递工作;
序列化运行时使用一个称为 serialVersionUID 的版本号,
该序列号在反序列化过程中用于验证序列化对象的发送者和接收者是否为该对象加载了与序列化兼容的类;
在Eclipse中,定义:private static final long serialVersionUID = 1L;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值