我已经看过几个关于marshaling
和的帖子和主题,serialization
我希望获得一些额外的理解/澄清我的思维过程。
我读了序列化和封送处理有什么区别?许多回应表明它们在某种意义上是同义词。但我认为可能存在一些我试图澄清的差异。
我的理解是java序列化需要一个对象并将其变成一个二进制流,然后可以反序列化,如以下示例所示http://www.tutorialspoint.com/java/java_serialization.htm
对于marshaling
/ demarshaling
,我看到类被转换为xml
bean 的表示,并在客户端和服务器之间传递信息,然后在另一端重新创建。
基于以上我的问题是:
- 序列化总是采用二进制格式吗?如果是这样,我们是否需要担心不同的机器架构,比如 Big Indian 与 Little Indian,或者 java 是否会为我们处理这个问题?
- 如果我们将网络上的数据表示为
xml
orjson
,这是否总是称为marshaling
/demarshaling
? - 如果上述项目符号属实,那么一个比另一个有优势吗?