目录 引子 认识跳表跳表的提出由二叉树回归链表设计思想与查找流程插入元素的概率性复杂度分析 Redis的跳表实现从zset到zskiplist创建zskiplist向zski...
目录 引子 认识跳表跳表的提出由二叉树回归链表设计思想与查找流程插入元素的概率性复杂度分析 Redis的跳表实现从zset到zskiplist创建zskiplist向zski...
IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: 当客户处理多个描述符时(一般是交互式输入和网络套接口),必须使...
前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式...
分别运行订阅模式和P2P模式,可以发现,P2P模式缺省把消息进行持久化,而topic模式是没有的。一般topic模式实验:1、 启动两个消费者,启动一个生产者,发送消息,两...
什么是代理模式 代理模式是对象的结构模式。代理模式为其他对象提供一种代理以控制对这个对象的访问。简单来说,在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以...
责任链模式是将请求的处理对象像一条链条组合起来,形成对象链。这样做的好处就是请求并不需要知道处理对象是哪一个,实现了请求和处理对象的解耦。 首先先看使用责任链经典的三个地方1...
什么是一致性 CAP Theorem 对于一个分布式系统,不能同时满足一下三点: 一致性(Consistency) 可用性(Availability) 分区容错性(Parti...
前言 前天看redis相关的博文里面提到了epoll,就搜了一下,发现这篇文章Linux IO模式及 select、poll、epoll详解,讲的很好,收获很大.这里根据自己...
在上一篇文档中,通过java实现了单链表反转的问题,之后发现一个更有意思的问题就是如何判断两个链表是否相交?如果相交,则需要得到交点。对于这个问题,需要分别考虑链表上是否存在...