注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信深入理解序列化與反序列化

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

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

定 價(jià):¥69.00

作 者: 潘洪安 著
出版社: 電子工業(yè)出版社
叢編項(xiàng): 互聯(lián)網(wǎng)后臺技術(shù)叢書
標(biāo) 簽: 暫缺

ISBN: 9787121396885 出版時(shí)間: 2020-11-01 包裝: 平裝
開本: 16開 頁數(shù): 232 字?jǐn)?shù):  

內(nèi)容簡介

  恰當(dāng)?shù)男蛄谢桨覆粌H可以提高系統(tǒng)的通用性、強(qiáng)健性、安全性,優(yōu)化系統(tǒng)性能,而且會讓系統(tǒng)更加易于調(diào)試、便于擴(kuò)展。《深入理解序列化與反序列化》從最基本的計(jì)算機(jī)編碼知識入手,接著從內(nèi)部機(jī)制、工作原理、核心類剖析、應(yīng)用示例等方面對大數(shù)據(jù)、分布式架構(gòu)中廣泛應(yīng)用的5種主流序列化技術(shù)――Java序列化、JSON、Thrift、Protocol Buffer和Avro進(jìn)行深入講解,最后從序列化后的數(shù)據(jù)大?。臻g)、序列化耗時(shí)(時(shí)間)、反序列化耗時(shí)(時(shí)間)三個(gè)維度對5種序列化技術(shù)進(jìn)行性能分析和綜合對比,讓讀者對序列化技術(shù)有更全面和深入的理解,從而更好地應(yīng)對不同場景下的序列化需求?!渡钊肜斫庑蛄谢c反序列化》兼顧技術(shù)原理和技術(shù)應(yīng)用,適合初級開發(fā)者、高級開發(fā)人員、架構(gòu)師及技術(shù)專家使用。

作者簡介

  潘洪安 本碩均就讀于西北大學(xué),先后在百度、獵豹、快手等互聯(lián)網(wǎng)公司從事大數(shù)據(jù)及后臺開發(fā)工作。擅長大數(shù)據(jù)、分布式系統(tǒng)及后臺高并發(fā)技術(shù),喜歡探索技術(shù)原理,擁有技術(shù)發(fā)明專利6項(xiàng)。

圖書目錄

第一部分 技術(shù)基礎(chǔ)
第1章 基礎(chǔ)知識
1.1 計(jì)算機(jī)編碼
1.1.1 比特、字節(jié)與字符
1.1.2 字節(jié)對齊
1.1.3 數(shù)字的表示
1.1.4 Big-Endian與Little-Endian
1.2 字符編碼
1.2.1 字符集與字符編碼
1.2.2 英文字符集與編碼
1.2.3 中文字符集與編碼
1.2.4 Unicode字符集與編碼
1.3 Base64編碼
1.3.1 編碼規(guī)則
1.3.2 解碼規(guī)則
1.3.3 索引表
1.3.4 編碼與解碼示例
1.3.5 Java應(yīng)用示例
1.4 Varint編碼
1.4.1 編碼規(guī)則
1.4.2 Varint編碼示例
1.4.3 Varint編碼的不足
1.5 ZigZag編碼
1.5.1 ZigZag編碼流程
1.5.2 ZigZag編碼算法實(shí)現(xiàn)
1.5.3 ZigZag反編碼流程
1.5.4 ZigZag反編碼算法實(shí)現(xiàn)
1.5.5 總結(jié)
1.6 初識序列化/反序列化
1.6.1 技術(shù)背景
1.6.2 技術(shù)特征
1.6.3 IDL序列化引擎
第二部分 序列化技術(shù)介紹
第2章 Java序列化
2.1 Java序列化入門
2.1.1 Java序列化實(shí)現(xiàn)方式
2.1.2 Java序列化應(yīng)用
2.2 Java序列化核心類
2.2.1 Serializable
2.2.2 Externalizable
2.2.3 ObjectOutputStream
2.2.4 ObjectInputStream
2.3 Java序列化原理
2.3.1 基本類型的序列化流程
2.3.2 基本類型數(shù)據(jù)的序列化大小
2.3.3 對象類型的序列化流程
2.3.4 對象類型的序列化數(shù)據(jù)成分
2.4 Java序列化高級特性
2.4.1 transient關(guān)鍵字
2.4.2 static關(guān)鍵字
2.4.3 serialVersionUID
2.4.4 序列化/反序列化hook
2.4.5 數(shù)據(jù)校驗(yàn)
2.5 選擇Serializable還是Externalizable
2.6 Java序列化安全
2.6.1 SealedObject
2.6.2 SignedObject
2.7 小結(jié)
第3章 JSON
3.1 JSON結(jié)構(gòu)
3.1.1 JSON值類型
3.1.2 JSON語法
3.2 Gson的實(shí)現(xiàn)
3.2.1 Gson值類型
3.2.2 Gson核心類
3.2.3 Gson生成JSON原理
3.2.4 TypeAdapter
3.2.5 Gson解析JSON原理
3.2.6 Gson應(yīng)用示例
3.2.7 Gson特性
3.3 開源工具庫介紹
3.3.1 Fastjson
3.3.2 Jackson
3.3.3 開源工具庫對比
3.4 小結(jié)
第4章 Thrift
4.1 Thrift數(shù)據(jù)類型
4.1.1 基本數(shù)據(jù)類型
4.1.2 復(fù)雜數(shù)據(jù)類型
4.2 Thrift文件
4.2.1 Thrift規(guī)范
4.2.2 名字空間
4.2.3 include關(guān)鍵字
4.2.4 const關(guān)鍵字
4.3 Thrift文件示例
4.4 Thrift生成的數(shù)據(jù)結(jié)構(gòu)
4.4.1 enum生成Java代碼
4.4.2 struct生成Java代碼
4.5 Thrift序列化原理
4.5.1 序列化/反序列化核心類
4.5.2 序列化流程
4.5.3 反序列化流程
4.6 TProtocol的實(shí)現(xiàn)
4.6.1 TBinaryProtocol
4.6.2 TCompactProtocol
4.6.3 TJSONProtocol
4.6.4 TSimpleJSONProtocol
4.6.5 TTupleProtocol
4.7 Java Serializable讀寫Thrift對象
4.8 TTransport
4.8.1 內(nèi)存型TTransport
4.8.2 文件型TTransport
4.8.3 特定功能型TTransport
4.8.4 網(wǎng)絡(luò)型TTransport
4.8.5 總結(jié)
4.9 小結(jié)
第5章 Protocol Buffer
5.1 數(shù)據(jù)類型
5.1.1 基本數(shù)據(jù)類型
5.1.2 復(fù)雜數(shù)據(jù)類型
5.2 proto文件
5.2.1 proto規(guī)范
5.2.2 import關(guān)鍵字
5.3 proto文件示例
5.4 proto文件生成代碼
5.4.1 手動執(zhí)行protoc命令行
5.4.2 Maven集成方式
5.4.3 proto應(yīng)用示例
5.4.4 proto生成的代碼文件
5.5 ProtoBuf生成Java對象
5.5.1 enum定義生成的Java對象
5.5.2 message定義生成的Java對象
5.6 Descriptor機(jī)制
5.6.1 FileDescriptor
5.6.2 PackageDescriptor
5.6.3 Descriptor
5.6.4 FieldDescriptor
5.6.5 OneOfDescriptor
5.6.6 EnumDescriptor和EnumValueDescriptor
5.6.7 ServiceDescriptor和MethodDescriptor
5.6.8 Descriptor和DescriptorProto
5.6.9 Descriptor文件
5.7 ProtoBuf Builder機(jī)制
5.8 ProtoBuf數(shù)據(jù)序列化
5.8.1 數(shù)據(jù)序列化大小
5.8.2 數(shù)據(jù)序列化實(shí)現(xiàn)方式
5.8.3 ProtoBuf序列化流程
5.8.4 ProtoBuf序列化應(yīng)用示例
5.9 ProtoBuf數(shù)據(jù)反序列化
5.10ProtoBuf高級特性
5.10.1 extension
5.10.2 oneof
5.10.3 Any
5.11 ProtoBuf開源組件
5.11.1 protostuff
5.11.2 Cap‘n Proto
5.12小結(jié)
第6章 Avro
6.1 Avro數(shù)據(jù)Schema
6.1.1 Avro數(shù)據(jù)類型
6.1.2 Avro Schema文件定義
6.1.3 Avro Schema文件的生效模式
6.2 Avro生成Java代碼
6.3 Avro序列化核心類
6.3.1 Schema
6.3.2 GenericData
6.3.3 Encoder
6.3.4 Decoder
6.3.5 DatumWriter
6.4 Avro序列化過程
6.5 小結(jié) 195
第三部分 深入理解序列化技術(shù)
第7章 序列化技術(shù)性能
7.1 序列化技術(shù)特征對比
7.2 序列化技術(shù)性能對比
7.2.1 對各類型數(shù)據(jù)的處理
7.2.2 序列化數(shù)據(jù)大小對比
7.2.3 序列化耗時(shí)對比
7.2.4 反序列化耗時(shí)對比
7.2.5 性能對比結(jié)論
7.3 自定義IDL序列化工具
7.4 小結(jié)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號