服务端框架
十年饮水不凉热血
苟利代码生死以,岂因长短趋避之
展开
-
研究使用FastJson把Java对象转JsonObject的效率问题,以及改进方案。
构造了一个稍微复杂的Java对象对比在不同情况下的转换效率,都是循环20次执行。https://gitee.com/icefire11/test-fast-json概述:Main方法示例:import com.alibaba.fastjson.JSONObject;public class Test { public static void main(String[] args) { School school = new School(); lon原创 2020-11-27 14:55:27 · 3430 阅读 · 4 评论 -
讲解ProtoBuff,比较好的文章
https://www.jianshu.com/p/30ef9b3780d9转载 2020-08-03 19:38:16 · 188 阅读 · 0 评论 -
分布式ID生成算法 雪花算法
1、SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图: ● 1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数,所以这个最高位固定是0● 41位,用来记录时间戳(毫秒)。 ○ 41位可以表示$2^{41}-1$个数字, ○ 如果只用来表示正整数(计算机中正数包含0),可以表示...原创 2020-03-17 15:42:54 · 333 阅读 · 1 评论 -
使用zmq,probuf,缓冲池实现序列化和反序列化框架(一)-使用ConcurrentLinkedQueue实现缓冲池
ConcurrentLinkedQueue是并发包中可以保证一些情况下线程安全的队列。使用队列来实现缓冲池考虑到了缓冲池经常分配回收的特性,就像一个队列一样。简单的代码实现:package com.zjq.stream;import java.util.concurrent.ConcurrentLinkedQueue;public class BufferPoolTest { /原创 2017-08-31 16:20:42 · 529 阅读 · 0 评论 -
使用zmq,probuf,缓冲池实现序列化和反序列化框架(二)-ZMQ介绍
上一篇博客已经介绍了实现的缓冲池的原理和代码,本篇继续介绍我们构造序列化框架的基本单元-ZMQ。 一,ZMQ介绍: 引用官方的说法: “ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ 的明确目标原创 2017-09-04 15:10:07 · 1185 阅读 · 0 评论 -
使用Java8的函数式接口@FunctionalInterface实现简单异步调用
最近研究了一下异步调用,接下来几篇博客是跟异步调用相关的,首先使用@FunctionalInterface接口实现一个简单的步调用,也就是本篇博客主要内容。然后再加上ZMQ,实现一个带网络通信的异步调用。再下一步就是复杂一点的RPC调用,最终目的是实现一个使用ZMQ的分布式调用系统。 Flag已经立,目标也定好了,先从简单的说起。 情景假设:假设一个程序需求是查看用户密码,这个需要原创 2017-08-25 18:23:11 · 10165 阅读 · 2 评论