易燃物匯聚 YouTube 有聲書與書評
深入理解序列化與反序列化 封面

深入理解序列化與反序列化

潘洪安

1110人在讀
7.7萬字總字數
¥48.3定價

內容簡介

恰當的序列化方案不僅可以提高系統的通用性、強健性、安全性,優化系統性能,而且會讓系統更加易於調試、便於擴展。本書從最基本的計算機編碼知識入手,接着從內部機制、工作原理、核心類剖析、應用示例等方面對目前業界主流的5種序列化技術——Java序列化、JSON、Thrift、Protocol Buffer和Avro進行深入講解,最後從序列化後的數據大小(空間)、序列化耗時(時間)、反序列化耗時(時間)三個維度對5種序列化技術進行性能分析和綜合對比,讓讀者對序列化技術有更全面和深入的理解,從而更好地應對不同場景下的序列化需求。本書兼顧技術原理和技術應用,適合初級開發者、高級開發人員、架構師及技術專家使用。

讀者書評

★★★☆☆

1.迭代快,簡單做,就用json。 2.跨語言,數據傳輸性能要求高,就選proto或thrift。thrift附帶框架多,只做數據序列化就選proto。 ​3.大數據腳本系統選avro。 ​4.java是個不太好的可選項。

★★★☆☆

序列化的目的是爲了對象可以跨平臺存儲,和進行網絡傳輸。選型上思考性能、易用性、安全等。選擇1)json/yaml;2)protobuf;3)avro。

★☆☆☆☆

這種應用層面的描述,都能寫一本書出來,真是要名不要臉

★★★☆☆

最近幾周提不起精神讀書,即使有空也只想玩會遊戲,甚至新遊戲也不願費力打,只玩通關過N周目的,騎馬在史凱利傑的雪山上亂逛,或者在艾雷德爾禮堂被芙莉德修女狂虐。三月份一本書也沒讀完,感覺不能再這樣消磨下去了,得振作點,rise tarnished 至於本書,整體上梳理了下序列化機制,知識點比較聚焦,方便學習。不過Java語言本身的序列化講解的稍微少了點,特別是侷限性就簡單提了下,這塊感覺應該是影響Java序列化發展的一個很重要的方面,希望能講的多一點

★☆☆☆☆

可能是我理解的“深入理解”和作者大佬理解不太一樣吧,本書傾向於教你怎麼用工具了。我最近在研發一個將yaml配置動態反序列化爲java對象,失望沒能找到自己想要的。此書序言部分,謬讚了。

★★★★★

最後的結論比較有用。 選取哪種序列化方案,依賴於場景和需求: 1)對於數據小、迭代快的REST服務,使用JSON能滿足要求,方便快捷。 2)JSON實現方案裏,建議首選Gson,因爲它功能完備、已形成技術標準、開源代碼規範;不建議使用FastJson,因爲它爲了追求快偏離了標準和功能性,開源代碼質量有待提高。 3)對於存在跨語言數據交互訴求、注重數據傳輸性能的場景,考慮使用ProtoBuf或Thrift,Avro的序列化耗時效果不太好。 4)Thrift和ProtoBuf大多數情況下效果不會差別太大。基於目前的網絡資源和硬件資源,幾乎感知不到差異,開發人員根據技術熟悉程度選擇即可。 5)對於大數據Hive、Pig等腳本系統,首選Avro。 6)Java序列化方案耗時比其他方案都長,只能作爲最後的選項。

★☆☆☆☆

文字湊數,開頭講了一些和主題無關的東西

★★★☆☆

寫的還行,入門足夠了,對於技術選型幫助很大

★★★☆☆

20年的時候flatBuffers 應該也出了,這裏沒提到。 最近也在替換底層的序列化協議,對目前的跨平臺序列化協議也瞭解了下,這邊說說我的觀點。 1、xml 和 json具有良好的可讀性,方便調試 2,目前web前後交互主流還是Json 3,Arvo是apache的子項目,如果考慮持久化是hadoop這種數據,選這個好點,但目前這社區活躍度和protobuf,faltbuf差了幾個量級 4,thrift並沒單獨的序列化接口,與框架耦合太重,如果是一套rpc實現,選這個倒不錯 5,faltbuf和protobuf在其他方面差不多,特點就是不需要解包,所以反序列化裏邊這個應該是最快的。最開始也是爲遊戲及一些高性能程序設計的。 6,如果考慮T級別的數據持久化,可以選擇protobuf

★★★☆☆

初識序列化,簡單列舉了幾種序列化反序列化方案並做了對比

書籍信息

作者潘洪安
出版社電子工業出版社
出版時間2020-11-01
ISBN9787121396885
分類計算機-計算機綜合
格式EPUB
完結狀態連載中
章節數64