Exception in thread "main" java.io.InvalidClassException:
SerializeMe; local class incompatible: stream classdesc
serialVersionUID = 1, local class serialVersionUID = 2
所以,使用serialVersionUID达到一种安全控制。如果你保存了一个类内容到文件或网络上,下次不喜欢被别人读取,只要改serialVersionUID这个值,那么就没有人能够读取它,当然如果你自己忘记当初serialVersionUID值,你也没法读取了,这就是一种加密功能。
所以,在编写类代码,使用特定serialVersionUID值是推荐做法。
还有,你不要给每个类加一个serialVersionUID值后,就不管它,这样这些类读取过时旧数据时,将不会报错,最好的办法是:当你改变类的结构时,把serialVersionUID也改变一下。
What is serialVersionUID?
http://www.javablogging.com/what-is-serialversionuid/