实现可序列化的Java Transferable对象

时间:2014-07-09 09:09:23

标签: java

如果我们需要跨网络传输Object,我们会让类实现Serializable。现在我的问题是它有什么不同?它是如何工作的?

2 个答案:

答案 0 :(得分:1)

简而言之,有些情况下您想要传输对象但又不想传输对象的所有字段。然后,您使类实现Serializable,这是一个标记,可以通过网络发送该类的任何对象。您希望限制的类中的字段通过网络传输,使用关键字 transient 将其标记为瞬态。这些字段可能在另一端获得默认值。

您可能会看到Serializable and transient,以了解为什么在一个地方实施接口以及在其他地方实施关键字的原因。

有关详细信息,请参阅documentation by oracle on Serializable

documentation by oracle on transient

感谢。

答案 1 :(得分:1)

下面的段落描述了什么是Serilization(摘自有效Java书)。

Serilization提供了一个框架,用于将对象编码为字节流,并从字节流编码中重构对象。将对象编码为字节流称为序列化对象;反向过程称为反序列化。一旦对象有了 已经序列化,其编码可以从一个正在运行的虚拟机传输 到另一个或存储在磁盘上以便以后反序列化。序列化提供了 用于远程通信的标准线级对象表示和标准 JavaBeans组件体系结构的持久数据格式。

你可以阅读java文档或任何其他标准的java书籍(例如Head First java)来了解Serilization是什么以及它是如何工作的。