Protocol Buffer序列化对比Java序列化.

本文探讨了Protocol Buffers(PB)和Java序列化的差异。PB通过定义proto对象进行序列化和反序列化,生成的字节数组明显比Java序列化短小。PB的可伸缩性数据类型在小数据量场景下更节省空间,如int只占1个字节,而Java的int为4字节。
摘要由CSDN通过智能技术生成

初识

Protocol Buff是谷歌推出的一种序列化协议. 而Java序列化协议也是一种协议.

两者的目的是, 将对象序列化成字节数组, 或者说是二进制数据, 那么他们之间有什么差异呢.

proto对象

要使用PB, 我们需要定义一个proto对象, 其支持的数据类型如下:

Protobuf定义了一套基本数据类型。几乎都可以映射到C++\Java等语言的基础数据类型.

      

protobuf 数据类型

描述

打包

C++语言映射

bool

布尔类型

1字节

bool

double

64位浮点数

N

double

float

32为浮点数

N

float

int32

32位整数、

N

int

uin32

无符号32位整数

N

unsigned int

int64

64位整数

N

__int64

uint64

64为无符号整

N

unsigned __int64

sint32

32位整数,处理负数效率更高

N

int32

sing64

64位整数 处理负数效率更高

N

__int64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值