序列化

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

原文地址:https://www.cnblogs.com/guofz/p/10287799.html