serialVersionUID的作用

Posted 胡金水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了serialVersionUID的作用相关的知识,希望对你有一定的参考价值。

 

浅克隆:复制对象,不复制对象的引用;

深克隆:复制对象,以及对象的引用。

 

总结:

  1、在java中,只要一个类实现了java.io.Serializable接口,那么它就可以被序列化;

  2、通过ObjectOutputStream和ObjectInputStream对对象进行序列化和反序列化操作;

  3、对象是否允许被反序列化,不仅仅是取决于对象的代码是否一致,同时还有一个重要的因素(UID);

  4、序列化不保存静态变量;

  5、要想父类对象也参与序列化操作,那么必须要让父类也实现Serializable接口;

  6、Transient关键字,主要是控制变量是否能够被序列化。如果没有被序列化的成员变量反序列化后,会被设置成出初始化值,比如 String -> null;

  7、通过序列化操作实现深度克隆;

主流的序列化技术有哪些:

  json、Hessian(2)、xml、protobuf、kryo、msgPack、FST、thrift、protostuff、avro

 

以上是关于serialVersionUID的作用的主要内容,如果未能解决你的问题,请参考以下文章

serialVersionUID作用

serialVersionUID的作用

转:serialVersionUID作用

serialVersionUID的作用

serialVersionUID介绍与作用

serialVersionUID的作用以及IDEAEclipse如何自动生成serialVersionUID