`
baiyude329
  • 浏览: 19684 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA类实现序列化的方法是?

阅读更多
Java中通过implements Serializable来实现对象的序列化。其实Serializable接口中并没有需要实现的方法,注明某个类implements Serializable只是为了标识或表明这个类可以被序列化。
       那么什么是序列化呢,序列化又有什么作用呢?
       一个类,或对象能够被序列化表明这个类或对象能过转化成数据流的形式。之所以要转化为数据流是为了在数据传输(特别是IO操作和网络传输)中对流化(序列化)的对象进行读写操作。也就是说序列化是为了解决在对对象流进行读写操作时所引发的问题。

       JAVA中实现序列化的基本过程是:
      (1)将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements       Serializable只是为了标注该对象是可被序列化的,
      (2)然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象
      (3)接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写               出(即保存其状态),要恢复的话则用输入流。
分享到:
评论
2 楼 baiyude329 2008-11-06  
感谢指教,我这个也是学习期间搜店一点资料,我没有做过分布式开发,也没有尝试过对象的读取操作,所以只能算概念上的简单了解。
1 楼 ginge 2008-10-30  
还有Externalizable,  想得到更细化的控制就用这个接口了,在有些场景这个接口会更高效。

Serializable用于通用场合,适合偷懒。

相关推荐

    java序列化和反序列化的方法

    * 使用 Java 序列化 API 实现序列化和反序列化 在实际开发中,选择合适的序列化和反序列化方法取决于具体的需求和场景。在本例中,我们使用 Serializable 接口实现序列化和反序列化,以便在网络上传输 UserMessage ...

    java 对象的序列化与反序列化

    1. **序列化标识符(SerialVersionUID)**:Java允许你为每个可序列化的类定义一个唯一的`serialVersionUID`,默认是由JVM根据类的结构计算出来的。如果类的版本更新导致结构变化,而此值未做更新,反序列化时会抛出`...

    java序列化实现演示

    - 不是所有的类都需要实现序列化。只有那些需要持久化或在网络间传输的对象才应考虑序列化。 - 序列化可能会暴露对象的内部状态,因此对安全敏感的数据,谨慎使用序列化。 - 使用`transient`关键字标记不需要序列化...

    Java实现序列化例子

    在Java中,如果一个类需要支持序列化,那么这个类就需要实现`java.io.Serializable`接口,尽管该接口没有任何方法需要实现,但它的存在就标志着这个类的对象可以被序列化。 首先,我们来看一下`SerializableDemo`这...

    C#和Java的序列化反序列化

    而在Java中,我们可以通过实现`Serializable`接口来使类支持序列化,或者使用`java.io.ObjectOutputStream`和`java.io.ObjectInputStream`进行对象的序列化和反序列化。 接下来,我们讨论反序列化。反序列化是序列...

    Java序列化_Java序列化结构_

    Java中的序列化主要通过实现`java.io.Serializable`接口来完成。虽然这个接口没有任何方法,但是它的存在就表明该类的对象可以被序列化。当一个对象被序列化时,其所有字段(包括私有的)都会被包含在字节流中,除非...

    java serializable 序列化与反序列化

    3. **如何实现序列化**:只需让类实现`Serializable`接口,Java的默认序列化机制就会处理剩余部分。例如: ```java public class MyObject implements Serializable { private String name; private int age; ...

    Java序列化

    - 使用 `java.io.ObjectOutputStream` 类的 `writeObject()` 方法将对象写入到输出流,从而实现序列化。 - 使用 `java.io.ObjectInputStream` 类的 `readObject()` 方法从输入流读取对象,实现反序列化。 4. **...

    java对象序列化和反序列化

    2. **接口**: 实现序列化的类需要实现`java.io.Serializable`接口。这个接口是一个标记接口,没有定义任何方法,但是通过实现这个接口,表明类的对象是可以被序列化的。 3. **过程**: - 序列化:使用`java.io....

    什么是Java的序列化和反序列化?如何实现对象的序列化和反序列化?(java面试题附答案).txt

    #### 二、实现序列化与反序列化的方法 在Java中,实现对象的序列化和反序列化主要依赖于`Serializable`接口。这是一个标记接口,意味着它没有提供任何方法,仅仅是告诉JVM该对象支持序列化。具体实现方式如下: 1....

    Java实验7 序列化.doc

    由于`Address`类没有实现`Serializable`接口,但仍然是`Person`类的一个字段,Java的标准序列化机制会抛出异常。但是,XStream库能够自动处理这种情况,将关联的`Address`对象也序列化到XML中。 在这个实验中,学习...

    java 序列化 将实体类本地序列化

    首先,要实现序列化,一个Java类必须实现`Serializable`接口。这是一个标记接口,没有定义任何方法,只是告诉Java虚拟机(JVM)这个类的对象是可以序列化的。例如: ```java public class MyEntity implements ...

    Java对象序列化标准最新版

    如果类实现了`Externalizable`接口,则会调用类自身的`writeExternal`方法来执行实际的序列化工作。 **2.4 `writeExternal`方法** `writeExternal`方法允许开发者自定义对象的序列化方式。通过实现`Externalizable...

    java中的序列化与反序列化

    要实现Java对象的序列化,首先需要让对象所属的类实现`java.io.Serializable`接口。这个接口是一个标记接口,不包含任何方法,它的作用是告诉Java虚拟机该类的对象是可以被序列化的。例如: ```java import java.io...

    什么是java序列化,如何实现java序列化?学习.pdf

    1. 将需要被序列化的类实现 Serializable 接口,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream 对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj) 方法就可以将参数...

    Java 文件 序列化 读写

    - 在Java中,如果一个类想要实现序列化,只需实现`Serializable`接口即可,但该接口没有任何方法,只是一个标志接口。 3. **序列化过程**: - 使用`ObjectOutputStream`类的`writeObject()`方法将对象序列化到...

    java自动序列化

    本篇文章将深入探讨Java自动序列化的概念、如何实现以及其在实际开发中的应用。 一、什么是Java序列化 Java序列化是将对象转换为字节流的过程,目的是为了保存对象的状态以便稍后恢复或传输到其他地方。通过实现`...

    java序列化全解

    首先,要使一个Java对象能够被序列化,该类必须实现`Serializable`接口。这个接口没有任何方法,仅仅是一个标记接口,表明该类的对象可以被序列化。当一个类实现了这个接口,Java运行时系统就能够将其实例转换为字节...

    java对象实现序列化

    在本文中,我们将深入探讨Java对象如何实现序列化,以及相关的关键知识点。 首先,要实现一个对象的序列化,该对象的类必须实现`java.io.Serializable`接口。这是一个标记接口,不包含任何方法,它的作用是告诉Java...

    几种序列化的实现方法 java自带, Writable, Avro

    在Java和其他编程语言中,有多种序列化实现方法,包括Java自带的序列化、Writable接口(常见于Hadoop生态系统)以及Avro。下面将详细介绍这三种序列化方式。 1. **Java自带的序列化** Java内置的序列化机制是通过...

Global site tag (gtag.js) - Google Analytics