💖简介
java.io.Serializable
是 Java
中的一个标记接口(marker interface
),它没有任何方法或字段。当一个类实现了 Serializable
接口,那么这个类的对象就可以被序列化和反序列化。序列化是将对象的状态转换为字节流的过程,这样可以方便地将对象存储到文件中或者通过网络传输。反序列化则是从字节流恢复出对象状态的过程。Dubbo
接口
📖实现序列化
要使一个类可序列化,只需要简单地实现
Serializable
接口即可
java
public class Person implements Serializable {
private static final long serialVersionUID = 1L;
// 类的其他部分...
}
🌟serialVersionUID
- 建议在实现
Serializable
的类中定义一个名为serialVersionUID
的静态最终变量。这有助于确保序列化和反序列化过程中的兼容性。- 如果类的结构发生改变,而
serialVersionUID
没有相应更新,可能会导致InvalidClassException
异常。
🔧配置
idea
配置serialVersionUID
生成快捷键
idea -> Settins -> Editor -> Inspections ->serialVersionUID
勾选
Serializable class without 'serialVersionUlD'
⭐使用
选择需要自动生成
serialVersionUID
的类
Alt + Enter
选择
Create constant field 'serialVersionUlD' in
结束