为你推荐
作者简介
内容简介
推荐序一
推荐序二
推荐语
前言
第一部分 技术基础
第1章 基础知识
1.1 计算机编码
1.1.1 比特、字节与字符
1.1.2 字节对齐
1.1.3 数字的表示
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 编码规则
1.3.2 解码规则
1.3.3 索引表
1.3.4 编码与解码示例
1.3.5 Java应用示例
1.4 Varint编码
1.4.1 编码规则
1.4.2 Varint编码示例
1.4.3 Varint编码的不足
1.5 ZigZag编码
1.5.1 ZigZag编码流程
1.5.2 ZigZag编码算法实现
1.5.3 ZigZag反编码流程
1.5.4 ZigZag反编码算法实现
1.5.5 总结
1.6 初识序列化/反序列化
1.6.1 技术背景
1.6.2 技术特征
1.6.3 IDL序列化引擎
第二部分 序列化技术介绍
第2章 Java序列化
2.1 Java序列化入门
2.1.1 Java序列化实现方式
2.1.2 Java序列化应用
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 基本类型数据的序列化大小
2.3.3 对象类型的序列化流程
2.3.4 对象类型的序列化数据成分
2.4 Java序列化高级特性
2.4.1 transient关键字
2.4.2 static关键字
2.4.3 serialVersionUID
2.4.4 序列化/反序列化hook
2.4.5 数据校验
2.5 选择Serializable还是Externalizable
2.6 Java序列化安全
2.6.1 SealedObject
2.6.2 SignedObject
2.7 小结
第3章 JSON
3.1 JSON结构
3.1.1 JSON值类型
3.1.2 JSON语法
3.2 Gson的实现
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应用示例
3.2.7 Gson特性
3.3 开源工具库介绍
3.3.1 Fastjson
3.3.2 Jackson
3.3.3 开源工具库对比
3.4 小结
第4章 Thrift
4.1 Thrift数据类型
4.1.1 基本数据类型
4.1.2 复杂数据类型
4.2 Thrift文件
4.2.1 Thrift规范
4.2.2 名字空间
4.2.3 include关键字
4.2.4 const关键字
4.3 Thrift文件示例
4.4 Thrift生成的数据结构
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的实现
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 内存型TTransport
4.8.2 文件型TTransport
4.8.3 特定功能型TTransport
4.8.4 网络型TTransport
4.8.5 总结
4.9 小结
第5章 Protocol Buffer
5.1 数据类型
5.1.1 基本数据类型
5.1.2 复杂数据类型
5.2 proto文件
5.2.1 proto规范
5.2.2 import关键字
5.3 proto文件示例
5.4 proto文件生成代码
5.4.1 手动执行protoc命令行
5.4.2 Maven集成方式
5.4.3 proto应用示例
5.4.4 proto生成的代码文件
5.5 ProtoBuf生成Java对象
5.5.1 enum定义生成的Java对象
5.5.2 message定义生成的Java对象
5.6 Descriptor机制
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机制
5.8 ProtoBuf数据序列化
5.8.1 数据序列化大小
5.8.2 数据序列化实现方式
5.8.3 ProtoBuf序列化流程
5.8.4 ProtoBuf序列化应用示例
5.9 ProtoBuf数据反序列化
5.10 ProtoBuf高级特性
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 小结
第6章 Avro
6.1 Avro数据Schema
6.1.1 Avro数据类型
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 小结
第三部分 深入理解序列化技术
第7章 序列化技术性能
7.1 序列化技术特征对比
7.2 序列化技术性能对比
7.2.1 对各类型数据的处理
7.2.2 序列化数据大小对比
7.2.3 序列化耗时对比
7.2.4 反序列化耗时对比
7.2.5 性能对比结论
7.3 自定义IDL序列化工具
7.4 小结
好书力荐
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜