Flatbuffers使用解析

  在今日头条偶然看到一个技术分享视频,标题很唬人:json之后下一代数据交换格式(大致是这样),不明觉厉,赶紧打开观看,原来Flatbuffers是Google为游戏或者其他对性能要求很高的应用开发的一种数据交换格式。小小试用了下,掌握了基本用法,特此记录,以分享和备忘。
  
  相比json,存储4M数据的json,转化为flatbuffers只需要2M左右,解析时,json花费800多ms,flatbuffer每次都在10ms以内,json解析时应用内存占用飙升,flatbuffer几乎不变。 各种数据交换格式性能对比介绍及flatbuffer简介 。

使用步骤:

一、下载依赖、编译器

java使用时,需用到一下四个类:见下图:

依赖下载

编译器即是faltc:用于从数据结构schema文件生成相应类。好比json生成bean文件。可以直接下载exe文件,也可以下载源码自行生成相应程序,Flatbuffers官方API有详细说明如何生成编译器。

编译器下载

二、编写schema文件

示例json文件test.json如下:

{"items": [{"id": 1001,"name": "张三","code": 1222,"carList": [{"id": 10001,"number": 123456321,"describle": "这是张三第一辆车"}]}, {"id": 1002,"name": "李四","code": 1123,"carList": [{"id": 10001,"number": 123456001,"describle": "这是李四第一辆车"}, {"id": 10002,"number": 123456002,"describle": "这是李四第二辆车"}, {"id": 10003,"number": 123456003,"describle": "这是李四第三辆车"}]}],"stateid":404,"time":20161127
}

编写对应的schema文件test.fb如下:

namespace Fltest;table Car{id:int;number:long;describle:

Flatbuffers使用解析相关推荐

  1. FlatBuffers初识

    FlatBuffers初识 文章目录 FlatBuffers初识 概述 为什么使用FlatBuffers 对标ProcotolBuffers.JSON 用法概述 编译构建 定义数据结构 schema示 ...

  2. 替代Protocol buffers 的FlatBuffers:高效利用内存的序列化函数库(Unity中测试)

    孙广东   2015.7.4 http://www.open-open.com/lib/view/open1441004786315.html 虽然FB的反序列化超级快,但是数据大小还是蛮大的(可能的 ...

  3. flatbuffers 和netty的结合使用

    2019独角兽企业重金招聘Python工程师标准>>> flatbuffers 可以应用到游戏中.媲美google protobuffer. https://github.com/g ...

  4. 【转】【UNITY3D 游戏开发之五】Google-protobuf与FlatBuffers数据的序列化和反序列化...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi )  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/uni ...

  5. FlatBuffers初探

    我第一次知道FlatBuffers是因为Facebook写的这篇Android的技术博客文章.它主要介绍了FlatBuffers对比JSON的优势,以及Facebook Android App应用了F ...

  6. 在Android中使用FlatBuffers

    总览 先来看一下 FlatBuffers 项目已经为我们提供了什么,而我们在将 FlatBuffers 用到我们的项目中时又需要做什么的整体流程.如下图: :.jpg 在使用 FlatBuffers ...

  7. 用FlatBuffers提升Android平台上Facebook的性能

    在Facebook上,人们可以通过阅读状态更新和查看照片同他们的家人和朋友来往.在我们的后端,我们保存了组成这些连接的社交图谱的所有数据.在我们的移动客户端,我们不能下载完整的图谱,而是以一个本地的树 ...

  8. 在Android中使用FlatBuffers - 简介

    JSON - 可能每个人都知道这个轻量的数据格式几乎被用在了所有的现代服务器中.相对于过去流行的一些东西,如可怕的XML,它更轻量,更可读,对开发更友好.JSON是语言独立的数据格式,但解析和格式转化 ...

  9. 深入浅出FlatBuffers原理

    简介: FlatBuffers 是一个开源的.跨平台的.高效的.提供了多种语言接口的序列化工具库.实现了与 Protocal Buffers 类似的序列化格式.主要由 Wouter van Oortm ...

最新文章

  1. Head First设计模式之目录
  2. IT人永远不老,老程序员价值何在?
  3. Android 获取SD卡路径和判断SD卡是否存在.
  4. @GetMapping和@PostMapping接收参数的格式
  5. Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)
  6. PHP 连接 Rabbitmq 实例代码(亲测通过)
  7. 有一个1,2,3....49 的数组,通过控制台显示为7行7列的,并且里面的数据时随机的代码...
  8. java js 正则表达式_如何在JavaScript与Java中使用正则表达式
  9. java单链表查询功能,Java 实现简答的单链表的功能
  10. 2015蓝桥杯省赛---java---A---3(九数分三组)
  11. 搜狗高速浏览器怎么设置页面字体 设置方法介绍
  12. 别天天看看直播了,你知道如何用jmeter对直播间做压测吗
  13. oracle如何删除物理表空间,oracle 如何删除被误删物理文件的表空间
  14. 普通摄像头的数据输出格式YUV与mjpeg之间联系、DCT离散余弦变换去噪跟压缩(待补充)
  15. 普林斯顿微积分读本篇三:极限导论
  16. coreldraw梯形校正_有哪些比较好的CDR教程?
  17. 软件研发的绩效考核漫谈一
  18. 南桥和北桥-主板芯片组发展史
  19. 正好在线炒股医美概念涨幅居前
  20. 计算机网络(十九)其他IP相关技术

热门文章

  1. Discuz论坛搭建教程
  2. 【报告分享】2021年中国高端汽车出行生态趋势洞察报告-腾讯新闻上汽奥迪(附下载)
  3. 音频数据小波去噪-python
  4. php验证一个日期是否是工作日,如何判断一个日期是节假日还是工作日
  5. QR 二维码布局(五)
  6. 高可用的“异地多活”架构是怎么设计
  7. 电脑持续蓝屏、掉盘看看是不是因为这个原因
  8. iPhone 12:旧的不去,新的也没来
  9. ESB接口调用异常汇总
  10. 同一服务器 redis版本升级(离线升级)