`
adoph
  • 浏览: 5484 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

为何实现Serializable接口

 
阅读更多
一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。
因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。
什么情况下需要序列化
a)当你想把的内存中的对象写入到硬盘的时候;
b)当你想用套接字在网络上传送对象的时候;
c)当你想通过RMI传输对象的时候;
再稍微解释一下:a)比如说你的内存不够用了,那计算机就要将内存里面的一部分对象暂时的保存到硬盘中,等到要用的时候再读入到内存中,硬盘的那部分存储空间就是所谓的虚拟内存。在比如过你要将某个特定的对象保存到文件中,我隔几天在把它拿出来用,那么这时候就要实现Serializable接口;
b)在进行java的Socket编程的时候,你有时候可能要传输某一类的对象,那么也就要实现Serializable接口;最常见的你传输一个字符串,它是JDK里面的类,也实现了Serializable接口,所以可以在网络上传输。
c)如果要通过远程的方法调用(RMI)去调用一个远程对象的方法,如在计算机A中调用另一台计算机B的对象的方法,那么你需要通过JNDI服务获取计算机B目标对象的引用,将对象从B传送到A,就需要实现序列化接口。
分享到:
评论

相关推荐

    Java对象Serializable接口实现详解

    在实现Serializable接口时,需要注意的是必须提供一个固定的serialVersionUID变量,这个变量用于标识该类的版本号,以便在反序列化时可以正确地还原对象。例如,在上面的例子中,我们定义了一个User类,并实现了...

    java中Serializable接口作用详解

    在实现 Serializable 接口时,需要实现 writeObject() 和 readObject() 方法,这两个方法分别负责将对象转换成字节序列和将字节序列转换回对象。 在使用 Serializable 接口时,需要注意以下几点: * 在实现 ...

    Intent传递对象Serializable

    在Android中,Intent的额外数据部分(extras)只能存储Parcelable或Serializable类型的对象,因此,当我们需要通过Intent传递自定义对象时,可以选择实现Serializable接口。 **步骤1:实现Serializable接口** 为了...

    可序列化接口Serializable

    在Java编程语言中,`Serializable`接口是一个非常重要的概念,它是实现对象持久化的关键。本文将深入探讨`Serializable`接口的细节,以及与其相关的高级知识。 `Serializable`接口是Java中的一个标记接口,没有包含...

    Serializable接口的作用_动力节点Java学院整理

    Serializable接口的作用 在 Java 中,Serializable 接口扮演着非常重要的角色,它允许对象被序列化和反序列化,实现对象的持久化存储和网络传输。本文将详细介绍 Serializable 接口的作用和实现原理,以及它在 Java...

    Java 对象序列化详解以及实例实现和源码下载

    一种是实现Serializable接口 另一种是实现Externalizable接口 区别: 实现Serializable接口 1 系统自动储存必要的信息 2 Java内建支持,易于实现,只需实现该接口即可,无须任何代码支持 3 性能略差 实现...

    Serializable.md

    一个类如果需要实现序列化,必须先实现Serializable接口,否则无法进行序列化操作。Serializable接口中并没有包含任何方法,它的存在纯粹是为了标识该类是可被序列化的。 在实现Serializable接口时,需要注意以下几...

    Android序列化——Serializable与Parcelable

    只需让类实现Serializable接口,系统就会自动处理序列化和反序列化。使用`writeObject()`和`readObject()`方法可以自定义序列化的行为。 优点: - 实现简单,只需要在类上添加`implements Serializable`即可。 - ...

    NotSerializableException解决办法.md

    NotSerializableException是Java中一个常见的运行时异常,当对象序列化过程中,如果对象的类没有实现Serializable接口,则抛出此异常。为了处理这个问题,需要确保所有被序列化的对象都实现了Serializable接口。下面...

    析Android中的Serializable序列化.rar_Serializable _android

    在Android中,当一个类实现Serializable接口,那么它的实例就可以被序列化。序列化的过程是将对象转换为字节流,而反序列化则是将字节流恢复为原来的对象状态。 二、序列化的应用场景 1. 数据持久化:序列化可以将...

    PHP自定义序列化接口Serializable用法分析

    实现Serializable接口的类必须实现这两个方法,分别用于自定义对象的序列化和反序列化过程。具体来说,当对象需要被序列化时,PHP会自动调用对象实现的serialize()方法;而在反序列化时,则会调用unserialize()方法...

    java.io.NotSerializableException(解决方案).md

    Java中,NotSerializableException异常是在进行对象序列化操作时,如果一个对象被标记为需要序列化,但是该对象所在的类没有实现Serializable接口,就会抛出此异常。序列化是指将对象状态转换为可保持(例如保存到...

    轉Serializable至Stream

    任何实现了`Serializable`接口的类的对象都可以被序列化。在Java中,通过实现此接口,对象的实例字段将被转换为字节流,这允许将对象保存到磁盘或在网络上传输。例如: ```java public class MySerializableClass ...

    android中Intent传递对象的两种方法(Serializable,Parcelable)

    1. **实现Serializable接口**:首先,你需要让你的对象类实现Serializable接口,例如: ```java public class MyObject implements Serializable { // 类的属性 } ``` 2. **放入Intent**:然后,你可以将这个对象...

    bundle传递基本数据,Parcelable类型数据,Serializable类型数据

    假设有一个名为`MySerializable`的类实现了Serializable接口: ```java public class MySerializable implements Serializable { // 省略属性和构造函数 } // 传递和接收Serializable对象 MySerializable ...

    实现Parcelable接口的方式借助Intent实现Android工程中Activity之间Java对象的传递.zip

    这些数据可以通过putExtra()和getExtra()方法进行添加和获取,支持基本数据类型以及Serializable接口的实现类。 然而,对于性能考虑,Android推荐使用Parcelable接口而非Serializable来传递复杂的对象。Parcelable...

    NotSerializableException如何解决.md

    如果存在没有实现Serializable接口的字段,Java虚拟机在尝试序列化对象时,会因为无法处理这些字段而抛出NotSerializableException。 在一些情况下,开发者可能希望某些字段不被序列化,这时可以使用transient...

    Android通过Parcelable和Serializable实现各种类型嵌套序列化

    实现Serializable接口的类会被自动处理,无需编写额外的序列化代码,但效率相对较低。 1. 在需要序列化的类上添加`implements Serializable`:这样,Java会自动生成序列化所需的元数据,如serialVersionUID。 2. ...

Global site tag (gtag.js) - Google Analytics