private static final long serialVersionUID = -671958543348052007L; // 防止因为修改类属性导致反序列化失败,最好设置一个serialVersionUID。

什么是 Serializable接口

Serializable 接口是 Java 编程语言中的一个接口,用于标识类的对象可以被序列化(Serialization)。

序列化是将对象转换为字节序列的过程,以便可以将其存储到文件、传输到网络或在不同的 Java 虚拟机之间进行通信。

白话就是:序列化的标记

为什么需要Serializable接口

Serializable 接口提供了一种标准化的机制,使得Java对象可以在不同的环境中进行序列化和反序列化操作,实现对象的持久化、数据传输和远程方法调用等功能。

  1. 对象持久化:通过将对象序列化为字节流,可以将对象保存到文件系统、数据库或其他持久化存储介质中。这样,在程序重新启动后,可以从存储介质中读取序列化的对象,并将其反序列化为内存中的对象,恢复对象的状态和数据。
  2. 对象传输:在分布式系统或网络通信中,需要将对象从一个节点传输到另一个节点。通过序列化对象,可以将对象转换为字节流,在网络中传输,并在接收端进行反序列化,重新创建对象。这样,可以方便地在不同的计算机或不同的 Java 虚拟机之间传递对象。
  3. 远程方法调用(RPC):在远程方法调用中,客户端和服务器之间需要传递参数和返回值。通过序列化和反序列化,可以将参数和返回值转换为字节流,在网络中传输。这样,可以实现跨网络的方法调用,使得客户端可以调用位于远程服务器上的方法,并获取返回结果。
  4. 对象复制:有时候需要创建一个对象的副本,可以通过序列化和反序列化来实现。通过将对象序列化为字节流,然后反序列化为另一个对象,可以在内存中创建一个与原始对象相同的副本。

那我们知道后,需要操作什么?

在实体类上,加上 implements Serializable

同时 在属性上加上

private static final long serialVersionUID = -671958543348052007L;

完成了。

IDEA 设置自动生成Serializable接口与UID

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤