企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 序列化和反序列化 *序列化(将java对象写入IO流中) / 反序列化(从IO流中恢复java对象)* - 条件 ``` 一个类要想序列化,必须实现 Serializable接口或者Externalizable接口 ``` - 注意 ``` 不能序列化static修饰的成员变量 不能序列化transient修饰的成员变量 为了提高serialVersionUID的独立性和确定性,强烈建议在一个可序列化类中显示的定义serialVersionUID,为它赋予明确的值。 ``` >### 序列化 ``` 创建 ObjectOutputStream 对象 writeObject()写入对象 操作一次,执行flush(); ``` >### 反序列化 ``` 创建 ObjectIntputStream 对象 readObject()读取对象 ``` >### 显式地定义serialVersionUID有两种用途 ``` 1. 在某些场合,希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有相同的serialVersionUID; 2. 在某些场合,不希望类的不同版本对序列化兼容,因此需要确保类的不同版本具有不同的serialVersionUID。 ```