对象的默认序列化机制会写入类 对象,类签名和所有非瞬态的值 和非静态字段
答案 0 :(得分:3)
短语“写对象的类”实际上意味着“编写对象的类名称”。 java对象序列化不写类字节,只写类的名称。当对象在以后反序列化时,它将使用当前jvm中定义的类字节。
答案 1 :(得分:0)
您不存储某种序列化类定义,只存储您序列化的实例的内容。反序列化时,JVM将使用它在类路径中找到的类定义。
所以你必须要理解how versionning works ......
答案 2 :(得分:0)
我认为“class signature”应该引用类'(和serialisable superclass')字段名称和类型,以及串行版本UID。
默认情况下,ObjectInputStream
在“最新”类加载器中查找类名(即最靠近调用堆栈的非引导类加载器)。使用指定的类加载器进行明智的子类查找。默认情况下,RMI(使用系统属性将其关闭)查找从流中嵌入的注释加载新类的位置(URL)。