java序列化与反序列化

对象序列化、反序列化概念介绍

      序列化:对象转化为字节数组的过程称为对象的序列化。

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


序列化的两种用途

1.把对象的字节序列永久保存到硬盘上

      2.在网络上传送对象的字节序列 --默认的序列化不安全,可以自定义序列化

     需要序列化的对象需要实现java.io.Serializable接口(没有方法,是一个标识接口)

类不参加序列化的字段

     1.静态变量(static修饰)

 2.transient修饰的变量

 不参与序列化的字段,反序列化的实例中会被设为该类型默认值


Java.io.Externalizable与java.io.Serializable

  java.io.Externalizable是java.io.Serializable的子接口,使用起来更灵活,可以控制序列化哪些字段和反序列化哪些字段

serialVersionUID序列号的作用

答:实现序列化接口的类jvm反序列化的时候,将字节流中的serialVersionUID本地实体类serialVersionUID相比较,如果相同,可以进行反序列化,否则抛出异常。

猜你喜欢

转载自blog.csdn.net/gaibian_one/article/details/77950308