编组和序列化之间的澄清

时间:2013-10-09 14:57:58

标签: java serialization deserialization marshalling unmarshalling

我已经看过几篇有关marshalingserialization的帖子和主题,我希望获得一些额外的理解/澄清我的思维过程。

我读过What is the difference between Serialization and Marshaling?并且很多回复表明它们在某种意义上是同义词。但我认为可能存在一些我试图澄清的差异。

我的理解是java序列化获取一个对象并将其转换为二进制流,然后可以对其进行反序列化,如以下示例所示http://www.tutorialspoint.com/java/java_serialization.htm

对于marshaling / demarshaling,我看到类被转换为bean的xml表示形式,并在客户端和服务器之间传递信息,然后重新创建另一端。

基于以上我的问题是:

  1. 序列化总是采用二进制格式吗?如果是这样,我们是否必须担心不同的机器架构,如Big Indian vs. Little Indian或java是否为我们处理这个?
  2. 如果我们通过网络将我们的数据表示为xmljson,这是否始终称为marshaling / demarshaling
  3. 如果上面的子弹是真的,那么一个是否有优势呢?

1 个答案:

答案 0 :(得分:0)

我认为这只是品味和背景的问题。 大多数情况下,我遇到术语时,任何一个术语都意味着您要将对象转换为0和1的字符串。 但有时规范可能会附加一个略有不同的含义。

请参阅维基百科上的java案例。 http://en.wikipedia.org/wiki/Marshalling_(computer_science)