【发布时间】:2013-10-17 00:31:31
【问题描述】:
我看过一些关于marshaling 和serialization 的帖子和主题,我希望获得一些额外的理解/澄清我的思考过程。
我阅读了What is the difference between Serialization and Marshaling?,许多回复表明它们在某种意义上是同义词。但我认为可能存在一些我想澄清的差异。
我的理解是java序列化是把一个对象变成一个二进制流然后可以反序列化,如下例http://www.tutorialspoint.com/java/java_serialization.htm
对于marshaling/demarshaling,我看到类被转换为bean 的xml 表示,并在客户端和服务器之间传递信息,然后在另一端重新创建。
基于以上我的问题是:
- 序列化总是采用二进制格式吗?如果是这样,我们是否需要担心不同的机器架构,例如 Big Indian 与 Little Indian,还是 java 会为我们处理这个问题?
- 如果我们将网络上的数据表示为
xml或json,是否始终称为marshaling/demarshaling? - 如果上述要点属实,那么其中一个是否比另一个有优势?
【问题讨论】:
标签: java serialization deserialization marshalling unmarshalling