Java序列化库,FlatBuffers 1.1 发布
b36g 10年前
FlatBuffers 是一个 Java 的序列化库,用于游戏和其他内存受限的应用。FlatBuffers 可以让你直接访问序列化后的数据,无需解压并进行解析的过程。同时提供很强的向前和向后兼容性。
FlatBuffers 支持 C++ 和 Java 语言,无需依赖第三方库支持。
FlatBuffers 使用命令行工具 flatc 用来生成 Java 和 C++ 的类。
经过几个月开发,FlatBuffers 1.1版本更新。这次的更新包含:
- 对Java API进行了广泛的检修
- out-of-the-box支持C#和Go
- 一个可选的校对器,使FlatBuffers在不可信的情况下变得实用
- 原型解析更容易从协议缓冲区迁移
- 字段ID可选手动分配
- 通过对一个键字段二进制查询的字典功能
- bug修复和其他的改进
初始发布于去年6月份的FlatBuffers是Google推出的一种高效的开源跨平台序列化库,允许使用者在没有解析/拆包或分配额外内存的情况下读取数据。它支持模式演化(向前/向后兼容性)和可选的JSON转换。其具有如下特点:
- 不需要打包/解包。它的结构化数据都以二进制形式保存,不需要数据解析过程,数据也可以方便传递。
- 省内存、性能好(见附录1)
- 强类型系统,在编译阶段就能预防一些bug的产生
- 跨平台(C++11/Java)
- ……
在FlatBuffers的使用方法方面,简单来说需要遵循以下步骤(具体示例可查看文末给出的链接):
- 编写一个用来定义数据结构的schema(IDL,接口定义)文件
- 使用FlatBuffer编译器flatc生成数据结构源代码(C++头文件或者Java类)
- 使用FlatBufferBuilder类创建flat的二进制buffer
- 保存或者发送buffer
- 接收并buffer并读取数据内容
FlatBuffers 1.1版本下载地址:https://github.com/google/flatbuffers/releases
FlatBuffers使用方法查看:http://liubin.org/2014/06/19/google-flatbuffers-cross-platform-serialization-library/
项目在GitHub上的托管地址:https://github.com/google/flatbuffers
更多的信息可查看FlatBuffers文档:https://google.github.io/flatbuffers/
详细信息请查看发行页面。
下载地址: