序列化

Posted guofz

tags:

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

什么是序列化?为什么要实现序列化?有什么作用?
        序列化就是把具体的对象转化成二进制的字节码文件进行存储或网络传输。反过来就是反序列化。
        将要存储或网络传输的对象必须实现序列化才可以。
        如果一个类已经实现了序列化那么他的子类默认也实现了序列化。
        如果某实例变量不能被实例化可以使用 transient 声明。
        当对象被序列化时,被该对象引用的所有对象也被序列化。且所有被引用的对象都将被序列化。
        解序列化时,transient声明的基本数据类型为默认值0,引用类型默认为 null,boolean 为 false。
        静态变量不会被序列化,因为静态变量和对象实例无关,所有对象共享一份静态变量值。
        对象序列化时会根据类的结构生成序列号,对象会根据序列号来序列化和反序列化。如果已经生成文件的序列号和将要生成对象的序列号不一致会抛出异常。









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

什么是序列化? 如何实现(反)序列化 序列化的应用

什么是序列化? 如何实现(反)序列化 序列化的应用

如何序列化/反序列化的ArrayList

什么是java的序列化和反序列化?

Netty_05_六种序列化方式(JavaIO序列化 XML序列化 Hessian序列化 JSON序列化 Protobuf序列化 AVRO序列化)(实践类)

Netty_05_六种序列化方式(JavaIO序列化 XML序列化 Hessian序列化 JSON序列化 Protobuf序列化 AVRO序列化)(实践类)