HOME> 威尔士世界杯> 为什么要实现序列化

为什么要实现序列化

威尔士世界杯 2025-06-17 05:06:37

序列化(Serialization)

序列化是将对象的状态信息转换为可以存储或传输形式的过程。在序列化期间,对象将其当前的状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象

简单来说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用自己的各种各样的方法来保存Object States,但是Java给你提供了一种应该比你自己好的保存对象状态的机制,那就是序列化

序列化的作用

序列化是针对自定义类型或者零散数据,好处是让数据方便存储和传输,可以统一存储和传输,标准序列化传递后,还可以一次读取出来。

序列化的目的是标准化和可存储,通常用于数据库、文件操作以及和系统标准化函数进行通信

具体作用:

以某种存储形式使自定义对象持久化

将对象从一个地方传递到另一个地方

使程序更具维护性

序列化的三个使用场景

当你想把内存中的对象保存到一个文件中或者数据库中时

当你想用套接字在网络上传送对象时

当你想通过RMI传输对象时

注意

当一个父类实现序列化,子类自动实现序列化,不需要显式实现Serializable接口

当一个对象的示例变量引用其他对象,序列化该对象时也把引用对象进行序列化

并非所有对象都可以序列化,原因:

安全方面的原因,比如一个对象拥有private,public等field,对于一个要传输的对象,比如要写到文件,或者进行RMI(远程方法调用)传输 等等,在序列化进行传输的过程中,这个对象 的private等域是不受保护的

资源分配方面的原因,比如socket,thread类,如果可以序列化进行传输或者保存,也无法对他们进行重新的资源分配,也没有必要这样实现

轮回乐园那一只蚊子著更新时间 2025-04-30 18:05:01
明清词选全集