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

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

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

定 價(jià):¥69.00

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

購(gòu)買(mǎi)這本書(shū)可以去


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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

第一部分 技術(shù)基礎(chǔ)
第1章 基礎(chǔ)知識(shí)
1.1 計(jì)算機(jī)編碼
1.1.1 比特、字節(jié)與字符
1.1.2 字節(jié)對(duì)齊
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 初識(shí)序列化/反序列化
1.6.1 技術(shù)背景
1.6.2 技術(shù)特征
1.6.3 IDL序列化引擎
第二部分 序列化技術(shù)介紹
第2章 Java序列化
2.1 Java序列化入門(mén)
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 對(duì)象類型的序列化流程
2.3.4 對(duì)象類型的序列化數(shù)據(jù)成分
2.4 Java序列化高級(jí)特性
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語(yǔ)法
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 開(kāi)源工具庫(kù)介紹
3.3.1 Fastjson
3.3.2 Jackson
3.3.3 開(kāi)源工具庫(kù)對(duì)比
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讀寫(xiě)Thrift對(duì)象
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 手動(dòng)執(zhí)行protoc命令行
5.4.2 Maven集成方式
5.4.3 proto應(yīng)用示例
5.4.4 proto生成的代碼文件
5.5 ProtoBuf生成Java對(duì)象
5.5.1 enum定義生成的Java對(duì)象
5.5.2 message定義生成的Java對(duì)象
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高級(jí)特性
5.10.1 extension
5.10.2 oneof
5.10.3 Any
5.11 ProtoBuf開(kāi)源組件
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序列化過(guò)程
6.5 小結(jié) 195
第三部分 深入理解序列化技術(shù)
第7章 序列化技術(shù)性能
7.1 序列化技術(shù)特征對(duì)比
7.2 序列化技術(shù)性能對(duì)比
7.2.1 對(duì)各類型數(shù)據(jù)的處理
7.2.2 序列化數(shù)據(jù)大小對(duì)比
7.2.3 序列化耗時(shí)對(duì)比
7.2.4 反序列化耗時(shí)對(duì)比
7.2.5 性能對(duì)比結(jié)論
7.3 自定義IDL序列化工具
7.4 小結(jié)

本目錄推薦

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