serialVersionUID的作用

Java中serialVersionUID的作用

The serialization runtime associates with each serializable class a version number, called a serialVersionUID, 
which is used during deserialization to verify that the sender and receiver of a serialized object have loaded classes
for that object that are compatible with respect to serialization.
If the receiver has loaded a class for the object that has a different serialVersionUID than that of the corresponding sender's class,
then deserialization will result in an InvalidClassException.
A serializable class can declare its own serialVersionUID explicitly by declaring a field named serialVersionUID that must be static, final, and of type long

一言以蔽之,就是为了在反序列化时验证数据发送者,防止中间有人篡改

 

参考:

https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html

https://stackoverflow.com/questions/285793/what-is-a-serialversionuid-and-why-should-i-use-it

posted @ 2019-11-04 18:57  栖息之鹰  阅读(174)  评论(0编辑  收藏  举报