作品简介

恰当的序列化方案不仅可以提高系统的通用性、强健性、安全性,优化系统性能,而且会让系统更加易于调试、便于扩展。《深入理解序列化与反序列化》从最基本的计算机编码知识入手,接着从内部机制、工作原理、核心类剖析、应用示例等方面对大数据、分布式架构中广泛应用的5种主流序列化技术――Java序列化、JSON、Thrift、Protocol Buffer和Avro进行深入讲解,最后从序列化后的数据大小(空间)、序列化耗时(时间)、反序列化耗时(时间)三个维度对5种序列化技术进行性能分析和综合对比,让读者对序列化技术有更全面和深入的理解,从而更好地应对不同场景下的序列化需求。

《深入理解序列化与反序列化》兼顾技术原理和技术应用,适合初级开发者、高级开发人员、架构师及技术专家使用。

潘洪安,本硕均就读于西北大学,先后在百度、猎豹、快手等互联网公司从事大数据及后台开发工作。擅长大数据、分布式系统及后台高并发技术,喜欢探索技术原理,拥有技术发明专利6项。

作品目录

  • 内容简介
  • 推荐序一
  • 推荐序二
  • 推荐语
  • 前言
  • 第一部分 技术基础
  • 第1章 基础知识
  • 1.1 计算机编码
  • 1.2 字符编码
  • 1.3 Base64编码
  • 1.4 Varint编码
  • 1.5 ZigZag编码
  • 1.6 初识序列化/反序列化
  • 第二部分 序列化技术介绍
  • 第2章 Java序列化
  • 2.1 Java序列化入门
  • 2.2 Java序列化核心类
  • 2.3 Java序列化原理
  • 2.4 Java序列化高级特性
  • 2.5 选择Serializable还是Externalizable
  • 2.6 Java序列化安全
  • 2.7 小结
  • 第3章 JSON
  • 3.1 JSON结构
  • 3.2 Gson的实现
  • 3.3 开源工具库介绍
  • 3.4 小结
  • 第4章 Thrift
  • 4.1 Thrift数据类型
  • 4.2 Thrift文件
  • 4.3 Thrift文件示例
  • 4.4 Thrift生成的数据结构
  • 4.5 Thrift序列化原理
  • 4.6 TProtocol的实现
  • 4.7 Java Serializable读写Thrift对象
  • 4.8 TTransport
  • 4.9 小结
  • 第5章 Protocol Buffer
  • 5.1 数据类型
  • 5.2 proto文件
  • 5.3 proto文件示例
  • 5.4 proto文件生成代码
  • 5.5 ProtoBuf生成Java对象
  • 5.6 Descriptor机制
  • 5.7 ProtoBuf Builder机制
  • 5.8 ProtoBuf数据序列化
  • 5.9 ProtoBuf数据反序列化
  • 5.10 ProtoBuf高级特性
  • 5.11 ProtoBuf开源组件
  • 5.12 小结
  • 第6章 Avro
  • 6.1 Avro数据Schema
  • 6.2 Avro生成Java代码
  • 6.3 Avro序列化核心类
  • 6.4 Avro序列化过程
  • 6.5 小结
  • 第三部分 深入理解序列化技术
  • 第7章 序列化技术性能
  • 7.1 序列化技术特征对比
  • 7.2 序列化技术性能对比
  • 7.3 自定义IDL序列化工具
  • 7.4 小结
展开全部