加载已使用标准 Java 序列化 API 序列化的类的最简单方法是什么?
.class
之间是否存在任何微不足道的关系? Class<?>
的格式和序列化形式实例?
最佳答案
Is there any trivial relationship between the .class format and the serialized form of a Class instance?
编译时的可序列化类会获得一个名为serialVersionUID ( SUID ) 的标识符。使用此版本的类序列化的每个对象也会带有此 SUID 标记。
What is the easiest way to load a class that has been serialized using the standard Java Serialization API?
取决于您想要实现的目标,正如您所知,*.class 文件由一系列字节中的字节代码组成。对象不复制字节码,因此您无法从序列化对象中恢复其类的字节序列。但是您将serialVersionUID 作为序列化对象中的最终长变量。使用此信息,您可以匹配 *.class 的适当版本。
但是说的比做的多,在实际实现这种“自适应”加载时,您会遇到很多有趣的东西。
关于java - 加载序列化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7169047/