由于你有数据,则可以简单地看一下八个八位字节以下的流中的类名由类的grammar for Java Serialization
00000000: aced 0005 7372 0003 466f 6f00 0000 0000 ....sr..Foo.....
00000010: 0000 0102 0001 4c00 066d 794e 616d 6574 ......L..myNamet
00000020: 0012 4c6a 6176 612f 6c61 6e67 2f53 7472 ..Ljava/lang/Str
00000030: 696e 673b 7870 7400 044a 6f68 6e ing;xpt..John
名称所指示的上面是“富”(没有包),并且serialVersionUID是1L。这里有另外一个例子:
00000000: aced 0005 7372 0011 7374 6163 6b6f 7665 ....sr..stackove
00000010: 7266 6c6f 772e 466f 6fff ffff ffff 7e3c rflow.Foo.....~<
00000020: 1802 0001 4c00 066d 794e 616d 6574 0012 ....L..myNamet..
00000030: 4c6a 6176 612f 6c61 6e67 2f53 7472 696e Ljava/lang/Strin
00000040: 673b 7870 7400 044a 6f68 6e g;xpt..John
classname是stackoverflow.Foo。该serialVersionUID的是0xff7e3c18由该序列的八位位组指出:
ff ffff fffff 7e3c 18
现在你要做的就是看看文件格式,找出你的目标是在每一种情况下,读取的serialVersionUID紧随所述的className在语法上面链接。
可能的重复[如何找出序列化Java对象的serialVersionUID?](http://stackoverflow.com/questions/703591/how-can-i-find-out-the-serialversionuid-of-一个序列化的Java对象) – 2012-01-12 18:39:37
答案那里与从源极/类文件生成的serialVersionUID处理更多。我想在现有的序列化对象中发现serialVersionUID。 – Mitch 2012-01-12 18:56:26