1、引入包

        <!--msgpack依赖-->
<dependency>
<groupId>org.msgpack</groupId>
<artifactId>msgpack</artifactId>
<version>0.6.11</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.12.6</version>
<scope>provided</scope>
</dependency>

2、创建实体类

  注意,必须实现:Serializable,和@Message注解

package com.cyb.vo;

import lombok.Data;
import org.msgpack.annotation.Message;
import java.io.Serializable; @Message
@Data
public class Member implements Serializable {
private String mid;
private String mname;
private String mage;
}

3、方法使用

package com.cyb.test;

import com.cyb.vo.Member;
import org.msgpack.MessagePack;
import org.msgpack.template.Templates; import java.util.ArrayList;
import java.util.List; public class Test01 {
public static void main(String[] args) throws Exception {
Member member = new Member();
member.setMid("101");
member.setMname("alex");
member.setMage("25");
MessagePack msgPack = new MessagePack();
byte[] data = msgPack.write(member); //将实体类数据转为Byte字节数组
System.out.println(data.length); //打印字节数组长度
//将实体类数据解析回来
Member member1 = msgPack.read(data, Member.class);
System.out.println(member1);
//========解析实体类数组=============
List<Member> allMemberList = new ArrayList<Member>();
for (int x = 0; x < 5; x++) {
Member m = new Member();
m.setMid(x + "");
m.setMname("sasa" + x);
m.setMage("18");
allMemberList.add(m);
}
MessagePack msgPack2 = new MessagePack();
byte[] data2 = msgPack2.write(allMemberList);
List<Member> all = msgPack2.read(data2, Templates.tList(msgPack2.lookup(Member.class)));
System.out.println(all);
}
}

msgpack的使用的更多相关文章

  1. Python下Json和Msgpack序列化比较

     最近用Python时,遇到了序列化对象的问题,传统的json和新型序列化工具包msgpack都有涉及,于是做一个简单的总结: 通俗的讲:序列化:将对象信息转化为可以存储或传输的形式:反序列化:把这个 ...

  2. serialize data use msgpack

    #ifndef _BYTEBUFFER_H #define _BYTEBUFFER_H #include <msgpack.hpp> typedef unsigned char uint8 ...

  3. json,serialize,msgpack比较

    速度 在redis中存入同样的压缩数据,取操作执行两个操作: 1 从redis中取 2 解压 3 统一json压缩后放出   ab测试: [yejianfeng@openstack ~/httpd/u ...

  4. 重点关注之自定义序列化方式(Protobuf和Msgpack)

    除了默认的JSON和XML序列化器外,如果想使用其它格式的(比如二进制)序列化器,也是可以的.比如著名的Protobuf和Msgpack,它们都是二进制的序列化器,特点是速度快,体积小.使用方法如下. ...

  5. MSGPACK(一)

    MSGPACK跨平台的数据序列规范,为多种语言所支持.用它序列还是还原数据都异常方便. 而且它支持序列的数据格式非常之多,因为它支持的数据格式多,所以MSGPACK的第二功用:缓存. DELPHI的M ...

  6. Redis 数据序列化方法 serialize, msgpack, json, hprose 比较

    最近弄 Redis ,涉及数据序列化存储的问题,对比了:JSON, Serialize, Msgpack, Hprose 四种方式 1. 对序列化后的字符串长度对比: 测试代码: $arr = [0, ...

  7. msgpack库的神奇用法

    一般来说,我们会把头部和实际消息分开定义,因为内部工作的worker之间发送消息有些额外的字段,这些字段不属于实际的消息.这时候我们会把worker消息中一个字段定义为interface{}或者obj ...

  8. [skill][msgpack] 初试msgpack库以及基本使用

    It's like JSON.   but fast and small. http://msgpack.org/index.html 源码: https://github.com/msgpack/m ...

  9. Python中msgpack库的使用

    msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言 ...

  10. msgpack生成lib,vs新建lib等

    记录导师交给的任务 新建一个c++项目,运行老师的msgpack的cpp文件,然后会生成相应的lib,我做的东西需要调用到它(这是老师改写后的msgpack的lib) 我的任务是建一个静态库,将客户端 ...

随机推荐

  1. MQTT的使用一

    MQTT:物联网消息传递标准 简介 MQTT是用于物联网(IoT)的OASIS标准消息传递协议.它被设计为一种非常轻量级的发布/订阅消息传送,非常适合以较小的代码占用量和最小的网络带宽连接远程设备.如 ...

  2. 用 C 语言开发一门编程语言 — S-表达式

    目录 文章目录 目录 前文列表 使用 S-表达式进行重构 读取并存储输入 实现 S-Expression 语法解析器 实现 S-Expression 存储器 实现 lval 变量的构造函数 实现 lv ...

  3. pageoffice6实现Word在线套打

    使用Word可以套打,其实套打一般就是将要打印的内容分毫不差的打印到已有的模板中去,比如奖状.证书.票据.报表等都可以使用套打完成. 方法一: 将Word页面排版的和打印纸中的页面完全相同,然后将打印 ...

  4. LLM实战:LLM微调加速神器-Unsloth + Qwen1.5

    1. 背景 上一篇介绍了基于训练加速框架Unsloth,微调训练Llama3的显卡资源占用及训练时间对比. 近期Unsloth新增了Qwen1.5的模型适配,因此本qiang~马不停蹄地又进行了一次实 ...

  5. java学习之旅(day.18)

    网络编程 概述 计算机网络:自己百度吧 网络编程的目的:传播交流信息.数据交换.通信 想要达到这个效果需要什么: 如何准确的定位网络上的一台主机 端口 定位到这个计算机上的某个资源 找到了这个主机,如 ...

  6. 一款基于C#开发的通讯调试工具(支持Modbus RTU、MQTT调试)

    前言 今天大姚给大家分享一款基于C#.WPF.Prism.MaterialDesign.HandyControl开发的通讯调试工具(支持Modbus RTU.MQTT调试,界面色彩丰富):Wu.Com ...

  7. linux各个目录详细说明

    在linux中一切皆文件,每个目录均有自己特定的作用,下面进行详细说明. 目录 说明 / 处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录.文件.设备都在 / 之下 /bi ...

  8. js 中你不知道的各种循环测速

    在前端 js 中,有着多种数组循环的方式: for 循环: while 和 do-while 循环: forEach.map.reduce.filter 循环: for-of 循环: for-in 循 ...

  9. swift_slowAlloc Crash 分析

    一.Crash详情 Crash类型 exception EXC_BREAKPOINT (SIGTRAP) reason EXC_BREAKPOINT EXC_ARM_BREAKPOINT fault_ ...

  10. svg动画导致持续占用CPU

    1.在一次性能优化中突然发现一个svg矢量图动画导致CPU持续占用的问题,该svg在web中使用, 即使webview释放之后,CPU依然占用达到10%,6s+上测试结果 svg如下所示: <s ...