传输。 例如,您的应用程序可能有一个已经定义的复杂数据类型 CustomerData,它存储着有关客户的信息(如姓名、地址、电话号码等)。 可以使用序列化将 CustomerData 数据类型转换为一个二进制或 XML 流,这样您可以跨越进程边界进行传输或者将它保存为一个文件稍候使用。 当该对象存在于二进制或 XML 格式中时,就已经被序列化了。 反序列化是一个将已经序列化的对象转换回它原始形式的过程。 通常,将对象反序列化为它们的原始类型。 因此,如果将 CustomerData 数据类型序列化为一个二进制流或一个 XML 文档,能够将其反序列化回数据类型 CustomerData 而不能反序列化为数据类型 OrderData。OrderData. .NET和 J2EE 在同一平台内应用程序间的数据交换都使用序列化。 通过将序列化对象传递给其他平台以进行反序列化,还可以使用序列化在不同平台上的应用程序间交换数据。 以下部分考查如何在 .NET 和 Java 上实现二进制和 XML 序列化。 理解二进制序列化 二进制序列化是接受一种复杂数据类型(或对象),并将其编码为一个二进制流、更改为永久状态、传输然后解码(反序列化)回原始复杂数据类型的过程。 Java 和 .NET 两者都包含一个能将任何可序列化的数据类型转换为一个字节流的二进制序列化程序。 各个平台上执行该序列化的类是相似的,并且实现起来很简单。 对 .NET 和 Java 两者的二进制序列化而言,首先必须使用一个标签以指示要序列化一个类型。 在 .NET 中,可以使用 [Serializable] 属性或实现 ISerializable 接口。. 在 Java 中,同样的方法是使用类页码:[1] [2] [3] [4] [5] [6] [7] 第3页、共7页 |