msgpack的使用
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的使用的更多相关文章
- Python下Json和Msgpack序列化比较
最近用Python时,遇到了序列化对象的问题,传统的json和新型序列化工具包msgpack都有涉及,于是做一个简单的总结: 通俗的讲:序列化:将对象信息转化为可以存储或传输的形式:反序列化:把这个 ...
- serialize data use msgpack
#ifndef _BYTEBUFFER_H #define _BYTEBUFFER_H #include <msgpack.hpp> typedef unsigned char uint8 ...
- json,serialize,msgpack比较
速度 在redis中存入同样的压缩数据,取操作执行两个操作: 1 从redis中取 2 解压 3 统一json压缩后放出 ab测试: [yejianfeng@openstack ~/httpd/u ...
- 重点关注之自定义序列化方式(Protobuf和Msgpack)
除了默认的JSON和XML序列化器外,如果想使用其它格式的(比如二进制)序列化器,也是可以的.比如著名的Protobuf和Msgpack,它们都是二进制的序列化器,特点是速度快,体积小.使用方法如下. ...
- MSGPACK(一)
MSGPACK跨平台的数据序列规范,为多种语言所支持.用它序列还是还原数据都异常方便. 而且它支持序列的数据格式非常之多,因为它支持的数据格式多,所以MSGPACK的第二功用:缓存. DELPHI的M ...
- Redis 数据序列化方法 serialize, msgpack, json, hprose 比较
最近弄 Redis ,涉及数据序列化存储的问题,对比了:JSON, Serialize, Msgpack, Hprose 四种方式 1. 对序列化后的字符串长度对比: 测试代码: $arr = [0, ...
- msgpack库的神奇用法
一般来说,我们会把头部和实际消息分开定义,因为内部工作的worker之间发送消息有些额外的字段,这些字段不属于实际的消息.这时候我们会把worker消息中一个字段定义为interface{}或者obj ...
- [skill][msgpack] 初试msgpack库以及基本使用
It's like JSON. but fast and small. http://msgpack.org/index.html 源码: https://github.com/msgpack/m ...
- Python中msgpack库的使用
msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言 ...
- msgpack生成lib,vs新建lib等
记录导师交给的任务 新建一个c++项目,运行老师的msgpack的cpp文件,然后会生成相应的lib,我做的东西需要调用到它(这是老师改写后的msgpack的lib) 我的任务是建一个静态库,将客户端 ...
随机推荐
- 两个List合并,List集合中的对象根据某个相同的属性,合并另外属性
简介 (Introduction): 背景 需要对数据进行拼接,拼接的数据是存在两个不同的表中,但是,拼接后要作为一个对象显示,但是,这样的对象又是多个的. 结构图数据库模型 id name 1008 ...
- Netflow/IPFIX 流量收集与分析
目录 文章目录 目录 Netflow(网络数据流检测协议) IPFIX(网络流量监测) IPFIX 组网架构 IPFIX 应用场景 Usage-based Accounting(基于使用流量的计费) ...
- Spring Boot中的 6 种API请求参数读取方式
使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,Spring Boot中也提供了多种机制来满足不同的API设计要求. 接下来,就通过本文,为大家总结6种常用的请 ...
- 用友u8 使用 api资源管理器新增单据的一些方法
一般都使用传xml对象的方式.这种方式方便在只需传入正确的视图就行了.但是如果字段不全,或者字段的数据类型与api要求的不服,会报些莫名其妙的错误,比如这些: 项目大类0不存在项目大类0不存在货位不合 ...
- 我对asp.net管道模型的理解
参考:http://www.tracefact.net/tech/001.htmlhttps://www.xuebuyuan.com/zh-hant/470245.html我们的web程序被iis启动 ...
- Android 12(S) MultiMedia Learning(十)ACodec & OMX
这一节的学习分为三块内容,omx hidl service用法.OMX架构.ACodec中的buffer分配. 1.omx hidl service system可以借助vndbinder来访问ven ...
- Dockerfile PHP镜像制作
1 PHP镜像制作: 1.1 php-dockerfile FROM centos:7 LABEL maintainer www.chenleilei.net RUN yum install -y c ...
- NOIP模拟100(多校32)
T1 饥饿的狐狸 解题思路 贪心签到题. 最小值的做法就是对于温度比水小的从大到小吃,然后喝一口水,然后把剩下的从小到大吃掉. 最大值的做法,几乎就是大的挑一个小的挑一个间隔着吃,可以排完序之后双指针 ...
- 美团面试:说说Netty的零拷贝技术?
零拷贝技术(Zero-Copy)是一个大家耳熟能详的技术名词了,它主要用于提升 IO(Input & Output)的传输性能. 那么问题来了,为什么零拷贝技术能提升 IO 性能? 1.零拷贝 ...
- String Record
T1. P5840 算法:ACAM+BIT+树链剖分 自然地,我们会对 \(s_i\) 建 ACAM,然后建出一颗 fail 树. 此时我们考虑集合内加入一个新的字符串.每一个匹配到的点我们都会给从这 ...