什么术语" Serializable"意思?

时间:2015-11-05 13:55:30

标签: java serializable

我已经阅读了序列化实际上做的定义不太确定...

import java.io.Serializable;
import java.text.StringCharacterIterator;
import java.util.*;
import java.io.*;

public final class SavingsAccount implements Serializable {

3 个答案:

答案 0 :(得分:2)

当您使用implements Serializable时,您可以以字节为单位转换对象,因此该对象可以通过网络发送,可以保存在目录中,并在网络的另一端进行重建等。

答案 1 :(得分:1)

序列化允许您将类(如果它实现Serializable)转换为数据流并通过网络传输或保存到磁盘上。

This应该给你一些很好的例子和一个好的描述。

答案 2 :(得分:1)

序列化通常意味着在语言层面存在某种程度的语言实体可以某种形式“持久化”,并从该持久形式中读回来。

持久化形式通常是一个字节流,它被保存到一个文件中;然后从该文件读回,以便在运行时重新创建实体。

在Java中,可以持久化/序列化的基本实体是Object;并且为了使其成为序列化的候选者,它必须实现Serializable接口。

现在,这个特殊的界面是一个陷阱;它有很多很多条件可以正确实现。其中包括:

  • 理想情况下,您希望所有Serializable个实例都定义private static final long serialVersionUUID,是的,此处,变量的名称很重要,它不能是其他任何内容;
  • 您可能在对象中有要序列化的实例变量:这些变量应标记为transient;
  • 除了transient之外,您应确保所有实例变量本身都是可序列化的;如果不是,您必须至少实施{read,write}Object()方法,或更精细的分辨率,readResolve()writeReplace()

换句话说:祝你好运!

注意:也许您还想查看Externalizable