2.19
序列化是将对象转为字节流的过程,反序列化是将字节流转回对象。java提供了java.io.Serializable来实现序列化。
序列化用于网络传输、远程调用、本地持久化存储等。
在类声明时实现Serializable接口时才可以序列化,Serialiable没有任何意义,只是单纯标记可序列化,源码与枚举、数组、String没有任何区别
if(obj instanceof Serializable){
writeOrdinaryObject(obj, desc, unshared);
}
一般都要声明serialVersionUID用于验证版本一致性,版本不匹配可能导致反序列化失败。

浙公网安备 33010602011771号