自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Redis 基础数据结构

五种数据结构string 字符串 list列表 set 集合 zset有序集合 hash哈希string所有的数据结构都是以唯一的key作为名称 差异在value不一样将信息JSON化 放入redis 进行缓存,取数据的时候再反序列化 最大长度512M过期和set扩展set key valueexpire key timelistRedis 的列表相当于 Java 语言里面的 LinkedList,注意它是链表而不是数组。这意味着list 的插入和删除操作非常快,时间复杂度为 O(

2020-05-23 12:13:56 174

原创 Innodb 的索引和算法

InnoDB 索引引擎 常用的是B+树的索引B+树的定义1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。2.所有的叶子节点包含了全部的信息,且叶子节点按关键字从小到大排序,双向链表.3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素4.中间节点不带有数据,仅叶子节点包含.可以保证树的矮胖,可以一次磁盘IO加载更多数据AVL数需要多次旋转 来保持平衡聚集索引 辅助索引 联合索引 覆盖索引聚

2020-05-22 20:01:09 231

原创 Netty 消息援入内存申请机制

@Override public void channelRead(ChannelHandlerContext ctx, Object msg) { ctx.write(msg); char [] req = new char[64 * 1024]; executorService.execute(()-> { char [] dispatchReq = req; try ...

2020-05-22 16:21:37 179

原创 Netty的 Client 和 Server 的处理效率差异 造成内存溢出

TCP 协议tcp是一个面向流的协议 当两端的流动速度 不一致的时候 ,就会出现 某一方的宕机故障场景这是一个 Client 不断向服务端发送数据的例子public class LoadRunnerSleepClientHandler extends ChannelInboundHandlerAdapter { static final int SIZE = Integer.parseInt(System.getProperty("size", "10240")); private

2020-05-21 21:58:09 611

原创 ByteBuf 源码分析

ByteBuf 的主要类继承关系内存分配的角度来分类1 堆内存字节(HeapByteBuf)缓冲区 :内存的分配和回收的速度快,可以被JVM自动回收。 缺点是如果进行Socket的I/O读写,需要做一次额外的内存复制,将堆内存的缓冲区复制到Channel中,性能会下降。2 直接内存(DirectByteBuf)再堆外进行内存分配,分配和回收的速度慢一些,但是将它写入或者读取将直接在内核...

2020-05-21 20:52:56 405

原创 彼岸夏花(一个爱与救赎的凄美故事)

春高大的法桐在娇媚的春天舒展出柔嫩的浅绿枝丫,笔直的矗立在宽阔的求知大道两侧。婆娑的阳光穿过密密的枝叶,打在少年的身上。漫不经心地明波低着头,两眼紧紧的盯着脚步,慢慢的走着。两旁的鸟儿叽叽喳喳的在树上跳来跳去,身边的同学抱着厚厚的备考资料匆匆跑去教学楼。但这紧张激烈的气氛却无法打破明波的思绪。他的心里在想一个人,准确来说,一个女同学。在这青春懵懂的十八岁,没有一个不怀春的少年。但是在这个年纪,他们也迎来了至关重要的高考。聪明的孩子有着不同的聪明,却有着相同愚笨的哀伤。炎热的午后,正是春困的好时候。

2020-05-12 23:11:38 417

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除