Flatbuffers使用解析

Flatbuffers使用解析  在今日头条偶然看到一个技术分享视频,标题很唬人:json之后下一代数据交换格式(大致是这样),不明觉厉,赶紧打开观看,原来Flatbuffers是Google为游戏或者其他对性能要求很高的应用开发的一种数据交换格式。小小试用了下,掌握了基本用法,特此记录,以分享和备忘。
摘要由CSDN通过智能技术生成

Flatbuffers使用解析

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

使用步骤:

一、下载依赖、编译器

java使用时,需用到一下四个类:见下图:
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
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值