序列化-serialVersionUID作用

Serializable接口

作用:标记一个类可以被序列化,如果没有实现该接口,则会抛出异常。

ObjectOutputStream中源码:


实验:


serialVersionUID

作用:表示一个序列化版本,控制序列化与反序列化。

实现Serializable接口后,如果不显式设置serialVersionUID,那么系统会根据类中内容计算一个serialVersionUID。(如果类中内容修改了(添加空格、空行不算),serialVersionUID会自动发生变化)

反序列化时会检测serialVersionUID是否一致,不一致会阻止反序列化。

验证步骤:

  1. User类不显式添加serialVersionUID,构建一个对象,将对象序列化进文件(user.txt)。
  2. User类添加自定义serialVersionUID,尝试将user.txt 反序列化成User对象。

posted @ 2024-06-13 16:35  帅气的涛啊  阅读(15)  评论(0编辑  收藏  举报