flatbuffer是一款类似于protobuf的数据序列化工具。所有数据序列化,简单来说,就是将某程数据结构按照一定的格式进行编码与解码,以方便在不同的进程间传递后,能够正确的还原成之前的数据结构。

flatbuffer大体上的用法与protobuf是类似的。所不同的是,它支持union定义,并可以通过as方法来简单的将由union包裹的数据进行类型转换,省去了一些麻烦。另外,它使用offset形式进行数据存储,从理论上来说,可以加快访问速度。(有待验证)

一个示例:

namespace com.cnblogs;

enum RequestType: byte {
RequestDataA = 0,
RequestDataB
} table RequestDataA {
setting: bool;
}

table RequestDataB {
setting: bool;
}

union RequestDataField {
RequestDataA,
RequestDataB
} table Request {
type: RequestType;
message: RequestDataField;
} root_type Request;

如上的结构,就可以通过type成员和as方法来简单的进行request的类型区别与转换。

资料参考:

[中文]

https://www.cnblogs.com/hgwang/p/9964151.html

https://www.cnblogs.com/frankwt/p/12943924.html

[英文]

https://google.github.io/flatbuffers/

最新文章

  1. C# 文件读写
  2. 获取IP地址 & 伪装IP地址发送请求
  3. createElement与createDocumentFragment的点点区别
  4. Scala学习笔记之伴生对象
  5. web 安全
  6. Eclipse启动时选择workspace设置
  7. java中 几种数据库连接池 的写法
  8. PNG图片压缩工具
  9. MySQL 5.6.3
  10. python装饰器总结
  11. php获取汉字首字母
  12. HDU-5289<two pointers>
  13. Java集合中的LinkedHashMap类
  14. [CVPR2018] Context-aware Deep Feature Compression for High-speed Visual Tracking
  15. 【Java入门提高篇】Day16 Java异常处理(下)
  16. WS_TABSTOP 与 BS_DEFPUSHBUTTON 第一次使有
  17. 【转】Python的神奇方法指南
  18. a标签和p标签不能设置margin
  19. pycharm如何新项目如何不默认创建虚拟环境(吐槽)
  20. spring cloud bus原理总结

热门文章

  1. 【PY从0到1】第七节 函数
  2. 反弹SHELL介绍及原理
  3. 关于Spring Boot的博客集合
  4. Dos命令思维导图
  5. OpenStack (haproxy)
  6. WebApi Swagger 接口多版本控制 适用于APP接口管理
  7. P3195 [HNOI2008] 玩具装箱(斜率优化DP)
  8. 【洛谷 p3373】模板-线段树 2(数据结构--线段树)
  9. 【uva 247】Calling Circles(图论--Floyd 传递闭包+并查集 连通分量)
  10. JavaScript——匿名函数和闭包