|
|
1
12
您可以通过扩展 ObjectInputStream :
我相信可以通过替换方法返回的描述符来读取所有序列化数据,但我没有尝试过。 |
|
|
2
22
有一个简单的方法可以找出一个类的序列号- 假设你在课堂上忘了提到serialversionuid-
只是这样做
这张照片
serialver是一个与JDK一起提供的实用程序 |
|
|
3
19
这对我很有用:
希望它也能帮助你。 |
|
|
4
5
有与序列化位关联的元数据(如果愿意,可以是头)。如果知道该值在哪个位置,则可以从元数据中读取该值
我认为这篇文章可以帮助您: The Java serialization algorithm revealed .
请注意,这些位是“清晰地”写入的(除非您显式地加密了流),所以您可能只需要十六进制编辑器就可以看到
|
|
|
5
1
对象序列化有指定的语法: 见第6.4章 http://java.sun.com/javase/6/docs/platform/serialization/spec/serialTOC.html 使用这个,您应该能够确定序列化对象的serialversionID。 |
|
|
6
0
这正是你应该做的-指定你自己的
在文档中有一个关于它的部分 Serializable .
除非你指定了
|
|
|
7
0
获取序列化对象的serialversionID的方法要简单得多-只需使用apache commons serialization utils将其反序列化到具有不同序列版本uid的同一类,并读取或多或少的异常消息:
|
|
|
8
0
|
|
|
9
0
获取它的最简单方法(尤其是在难以找到的情况下)是为serialversionID定义任何数字,并在反序列化失败时监视stacktrace,它将打印出原始的数字。 |