2015-05-30 59 views
0


我是Java的新手。我只是对序列化和反序列化感到困惑。 所以,我很困惑,我应该使用哪一个。
我正在寻找一个回合,发现JSON序列化的Boon,Jackson,GSON(我目前使用GSON,但一些文章使用Jackson和Boon)。并将对象序列化为字节数组或二进制对象。
只是,哪一个更快,我应该选择哪一个?
我为我的简单应用程序,保存当前状态,文档和其他一些东西。
POJO到字节数组与POJO到json

感谢提前:)

+0

如果性能并不重要(我想你的情况并非如此)我建议你用人类可读的格式。 – MyGGaN

+0

@MyGGaN:在性能的情况下,我应该选择哪一个?我目前使用ByteArrayBuffer(第二天可能是apache.common:D)将POJO序列化为字节数组。 (我通过节俭传递字节)。所以我只是想在某些方面json。而现在我坚持使用JSON vs Base64 vs byte数组。现在太复杂了。 –

回答

1

序列化数据是指将其转换为字节序列。

这个序列可以解释为在json,xml,yaml等中发生的可读字符序列。

相同的序列也可以是人类不可读的二进制数据序列。

每种序列化方法都有正反两面。

人类可读的临:

  • 许多现有的库进行序列化反序列化数据
  • 的数据可以很容易地调试
  • 许多现有的库和API使用此解决方案

缺点:

  • 个许多字节需要
  • 序列化和反序列化过程可能是困难和时间机器耗费

Pro和二进制数据的缺点:

临:

  • 更快的序列化反序列化过程
  • 通过网络传输的数据较少

缺点:

  • 难以阅读被通过网络传递
  • 不仅一个相同数据的表示中的数据(大尾端或不例如)
+0

我已经解决了我的问题,但是这是我找到的正确答案。谢谢 :) –