1、引用jar包:
pom.xml:
<!-- protostuff -->
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
<version>1.0.7</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-runtime</artifactId>
<version>1.0.7</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>
序列化例子:
public List<byte[]> serializeProtoStuffProductsList(List<Products> pList) {
if(pList == null || pList.size() <= 0) {
return null;
}
long start = System.currentTimeMillis() ;
List<byte[]> bytes = new ArrayList<byte[]>();
Schema<Products> schema = RuntimeSchema.getSchema(Products.class);
LinkedBuffer buffer = LinkedBuffer.allocate(4096);
byte[] protostuff = null;
for(Products p : pList) {
try {
protostuff = ProtostuffIOUtil.toByteArray(p, schema, buffer);
bytes.add(protostuff);
} finally {
buffer.clear();
}
}
long end = System.currentTimeMillis() ;
this.userTime = end - start;
return bytes;
}
反序列化例子:
public List<Products> deserializeProtoStuffDataListToProductsList(
List<byte[]> bytesList) {
if(bytesList == null || bytesList.size() <= 0) {
return null;
}
long start = System.currentTimeMillis() ;
Schema<Products> schema = RuntimeSchema.getSchema(Products.class);
List<Products> list = new ArrayList<Products>();
for(byte[] bs : bytesList) {
Products product = new Products();
ProtostuffIOUtil.mergeFrom(bs, product, schema);
list.add(product);
}
long end = System.currentTimeMillis() ;
this.userTime = end - start;
return list;
}
相关推荐
protostuff fastjson gson 高性能序列化jar包
基于ProtoStuff的对象序列化;完整的单元测试和JMH性能压测;基于ZooKeeper实现的服务注册和发现;仿Dubbo数据包结构,优化协议头仅20字节;支持4种负载均衡策略:随机,交替,哈希,最佳响应; 2总体设计 2.1架构图...
ProtoStuff 高性能序列化 HttpClient连接池 Spring依赖注入 lombok简化POJO开发 原子指标 内置锁 竣工服务 log4j+slf4j日志 实现的功能 登录注销 单聊 群聊 客户端提交任务,下载图片并显示 上线下线公告 在线用户...
Redis缓存(ProtoStuff序列化) Redis Sentinel主从高可用方案 Redis Cluster集群高可用方案 Druid(数据源配置 sql防注入 sql性能监控) 前后端分离(Html替代Jsp) Nginx静态加载、负载均衡 基于keepalived的nginx...
特性采用Protostuff序列化;高性能,负载均衡;支持服务的注册和订阅;支持同步及异步2种调用方式;长连接,自动重连;采用cglib动态代理;代码简答,易上手;支持Spring;HRPC结构图服务注册中心服务端1. 通过...
Redis缓存(ProtoStuff序列化) Redis Sentinel主从高可用方案 Druid(数据源配置 sql防注入 sql性能监控) Dubbo+Zookeeper分布式服务框架 合理的分布式服务划分(common+api+service+web) 资源调度和治理中心(SOA)...
- ProtoStuff 高性能序列化 - HttpClient连接池 - Spring依赖注入 - lombok简化POJO开发 - 原子变量 - 内置锁 - CompletionService - log4j+slf4j日志 - 实现的功能 - 登录注销 - 单聊 - 群聊 - ...
Mango是一个高性能的开放源代码Java RPC框架。 特征 支持各种序列化协议,例如 ,Kryo,Hessian,msgpack,Jackson,Fastjson。 支持高级功能,例如负载平衡(随机,循环),高可用性策略(故障转移,故障转移)。 ...
类构造函数特殊性造成该类对象protostuff反序列化问题 已修复。 添加lambda表达式练习代码 为了写redis操作的代码。 函数接口是个泛型接口,lambda怎么写。 redis 应用 添加, 删除(模糊/精确),查找,清空等。 ...
消息网络传输除了JDK原生的对象序列化方式,还支持目前主流的编码解码器:kryo、hessian。 Netty网络模型采用主从Reactor线程模型,提升RPC服务器并行吞吐性能。 多线程模型采用guava线程库进行封装。 NettyRPC 1.0 ...
Java基于多线程和NIO实现聊天室涉及到的技术点线程池ThreadPoolExecutor阻塞队列BlockingQueue,生产者消费者模式SelectorChannelByteBufferProtoStuff 高性能序列化HttpClient连接池Spring依赖注入lombok简化POJO...