序列化-serialVersionUID作用
Serializable接口
作用:标记一个类可以被序列化,如果没有实现该接口,则会抛出异常。
ObjectOutputStream
中源码:
实验:
serialVersionUID
作用:表示一个序列化版本,控制序列化与反序列化。
实现Serializable接口后,如果不显式设置serialVersionUID,那么系统会根据类中内容计算一个serialVersionUID。(如果类中内容修改了(添加空格、空行不算),serialVersionUID会自动发生变化)
反序列化时会检测serialVersionUID是否一致,不一致会阻止反序列化。
验证步骤:
- User类不显式添加serialVersionUID,构建一个对象,将对象序列化进文件(user.txt)。
- User类添加自定义serialVersionUID,尝试将user.txt 反序列化成User对象。
本文来自博客园,作者:帅气的涛啊,转载请注明原文链接:https://www.cnblogs.com/handsometaoa/p/18246218