一、Protostuff介绍
Protostuff是一个开源的、基于Java语言的序列化库,它内建支持向前向后兼容(模式演进)和验证功能。
A java serialization library with built-in support for forward-backward compatibility (schema evolution) and validation.
- efficient, both in speed and memory
- flexible, supporting pluggable formats
Usecase
- messaging layer in RPC
- storage format in the datastore or cache
Protostuff支持的序列化格式包括:
- protobuf
- protostuff
- graph
即序列化对象图,即带循环引用的protostuff。 - json
- smile
即二进制json,与此类似的有BSON格式。要注意一点。Smile数据格式和BSON数据格式是互不兼容的。比方BSON定义了日期类型,而Smile没有日期类型。并且,有时候BSON数据格式占用的空间比原生JSON占用的空间很多其它。对于二进制JSON来说,Smile才是更好的选择。 - xml
- yaml
仅仅支持序列化 - kvp
即二进制的uwsgi头部(Header)