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) 我的任务是建一个静态库,将客户端 ...
随机推荐
- neo4j的安装部署
Linux下载neo4j 直接在服务器上使用命令下载: curl -O http://dist.neo4j.org/neo4j-community-3.4.5-unix.tar.gz 安装Neo4j ...
- shape-outside
shape-outside定义一个由内容区域的外边缘封闭形成的形状 shape-outside 是一个非常实用的属性,可以实现一些比较复杂的文本环绕效果. shape-outside 的兼容性比较好, ...
- js文字处理两端展示中间省略号
点击查看代码 function ellipsisText(longText, displayLength) { // 确保显示长度至少包含省略号的3个字符 if (displayLength < ...
- 守护安全|AIRIOT城市天然气综合管理解决方案
城市使用天然气存在安全风险和隐患,天然气管理的复杂性也比较高,依靠传统人工难以发现安全漏洞,特别是在燃气场站.管网的安全监管等方面,场站面临作业管理.区域管控等问题,管线存在第三方施工发现问题不及 ...
- kubernetes 之dashboard
部署 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recomme ...
- wpf 自定义轮播图组件
轮播图组件代码: [Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)][TemplateP ...
- 关于ThreadLocal最直白的解释
ThreadLocal 底层原理如下: 实线是强引用,虚线是弱引用 Thread 持有 ThreadLocal 对象的引用,ThreadLocalMap 是 Thread 的成员变量,它是一个 Map ...
- 支持表格识别,PaddleOCRSharp最新发布
PaddleOCRSharp 2.3.0已经发布nuget包. 项目开源地址:https://gitee.com/raoyutian/paddle-ocrsharp 2.3.0更新内容: 1.增加表格 ...
- 获取某一个数的2进制位数以及bitmask
举例说明:比如32对应的2进制为2b'100000,对应的bitmask为2b'11111. 实现代码: #include <stdio.h> typedef unsigned char ...
- 夜莺项目发布 v6.1.0 版本,增强可观测性数据串联
大家好,夜莺项目发布 v6.1.0 版本,这是一个中版本迭代,不止是 bugfix 了,而是引入了既有功能的增强.具体增强了什么功能,下面一一介绍. 1. 增强可观测性数据串联 从 v6.1.0 开始 ...