1.序列化
- 序列化对象若是有其他对象的引用,即时其他对象没有实现Serialization接口,也都会被序列化
- 倘若有两个对象内都有一个指向同一对象的引用,这个同一对象只会被序列化一次,其他引用会被复原成指向该对象。
- 使用transient修饰的瞬间变量不会被序列化,为了避免造成系统影响,解决方案:带回来后就进行实例化,给他一个新的对象。(这个要自己实现)
- 序列化存储对象的状态,而不是引用。
- 倘若面向的解序列化时数据库等其他的,则要对序列化进行格式的 调整。
2.解序列化
- 继承树的父类中若有个不可序列化的祖先类,序列化会自行运行构造函数,构造函数会连锁该祖先类的父类,爷爷类,等等,全都进行构造。
- transient变量会被赋予默认值,对象引用为null,primitive主数据类型默认为0。
- 静态变量不会被序列化,静态变量是一个类的。
- 解序列化时,所有的类都必须能让JVM找到。
- 在网络传输中,若是缺少类信息,则可以自动使用URL取回并加载该类。