【问题标题】:Java Serialization vs XML [closed]Java序列化与XML [关闭]
【发布时间】:2016-02-29 12:36:36
【问题描述】:

我基本上对分析我们需要在客户端-服务器模型中通过网络发送给客户端的对象形式感兴趣。

我需要知道当我们分别选择 xml 和 java 序列化时需要考虑的标准是什么。这是选择网络对象变换的最佳方法。

为什么在我们已经有 XML、JSON 转换的时候序列化出现了

编辑:

我想知道为什么我们在 XML/JSON 发明之前就已经使用了序列化

【问题讨论】:

  • Java 序列化只能在 Java 端点之间本地移植。这使得要求已经相当高了。再加上正确的做法很棘手,在我看来,我们有一个失败者。但这只是我。
  • 那么 XML 不能在 Java 端点之间使用。?。序列化在 Java 端点之间对 xml 的优势是什么
  • Java 有一个内置的 XML 序列化器,但是有很多广泛使用的 SAX 和 DOM 解析器。我会说 XML 是 Java 最受支持的序列化。
  • 我们还没有 XML/JSON。 Java 序列化最迟可以追溯到 1997 年。那时 XML 肯定不能用于序列化,而且 JSON 也从未听说过。

标签: java json xml serialization


【解决方案1】:

如果 XML 和 JSON 适合你,我会坚持下去。记录并检查它是否在做您认为应该做的事情要容易得多。

Java 序列化有很多优点,但除非您需要这些,否则它们不太可能是最佳解决方案。

  • 它是内置的,不需要额外的 JAR。
  • 它与现有的远程 API 集成
  • 它支持所有可序列化的对象类型和图形。 (XML 和 JSON 仅支持数据树,不支持类型对象)
  • 它支持数据类型,每个引用只需编写一次。

然而Java序列化不是

  • 非常高效
  • 作为人类易于阅读/验证。
  • 灵活的架构更改,尤其是包或类名称的更改。
  • 可移植到 Java 之外。

就我个人而言,我更喜欢 YAML。这是因为

  • 它被设计成人类可读的,因为 XML 是 SGML 的子集,而 JSON 是 Javascript 的子集。
  • 它支持图形和数据类型。
  • 它几乎和 JSON 一样高效(它的速度有点慢)

【讨论】:

  • YAML 很有趣。我不知道为什么 oracle 没有将序列化优化纳入 Hadoop 项目的一部分以提高当前的序列化效率。
  • @ravindra 在 Oracle 中的优先级是提高安全性而不是效率。 (并支持云)
  • @ravindra 或者这些更改不兼容,或者他们不知道,或者他们有其他计划。一切皆有可能。你应该问他们。
猜你喜欢
  • 2010-09-07
  • 1970-01-01
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
  • 2013-10-22
  • 2012-12-27
相关资源
最近更新 更多