2015-05-30 81 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

我已經解決了我的問題,但是這是我找到的正確答案。謝謝 :) –