
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
红黑树红黑树是一种接近平衡的二叉搜索树,它能够保证任意一个节点左右子树的高度差不会超过较低子树的高度,也就是两棵子树的高度比值不会超过 2 倍。这样我们可以使搜索的时间复杂度更接近 O (logN)。为了保证树的平衡,我们需要在添加或删除元素的时候不断的调整树的结构,使每个节点的左右子树上的节点个数尽可能相等。红黑树的性质每个节点不是红色就是黑色;根节点永远是黑色;红色节点的子节点必须是黑色;任意
Jaeger是Uber开发并开源的一款分布式追踪系统,兼容分布式跟踪信息传递分布式事务监控问题分析服务依赖性分析性能优化。
前言Golang 数据结构之 Slice (二)上一篇文章介绍了一下扩容的基本情况,这一篇文章分析要 growslice 函数的源码源码我们看看 growslice函数的源码,可以分成三部分:func growslice(et *_type, old slice, cap int) slice {if raceenabled {callerpc := getcallerpc(unsafe.Poin
正则表达式,说白了就是用来匹配字符的,正则表达式是用来简洁表达一组字符串的表达式.正则表通常被用来检索、替换那些符合某个模式(规则)的文本。很多编程语言都支持正则表达式进行字符串操作。在代码中常简写为regex、regexp或RE。比如Pythonz中就有一个叫:re 的正则表达式库,这是Python的标准库,安装Python后自带,使用时只需要import re我们可以通过r
集合概念SetSet类似于Java中的HashSet 。Redis中的set类型是一种无序集合,集合中的元素没有先后顺序,并且不可重复。当需要存储一个列表数据,又不不能出现重复数据时,Set 是一个很好的选择,并且set提供了判断某个成员是否在一个Set集合内的接口,List是没有这种接口的可以基于set轻易实现交集、并集、差集的操作。Redis 可以非常方便的实现如共同关注、共同粉丝、共同喜好等
EventBus 顾名思义,事件总线,是一个轻量级的发布 - 订阅模式的应用模式。相比于 MQ 更加简洁,轻量,它可以在一个小系统模块内部使用EventBus允许组件之间通过发布 - 订阅进行通信,而不需要组件之间显示的注册。它专门设计为了代替使用显示注册的传统的 Java 进程内事件分发。它不是通用的发布-订阅系统,也不是用于进程间通信的。
什么是生产者消费者模型生产者 - 消费者模型( Producer-consumer problem) 是一个非常经典的多线程并发协作的模型,在分布式系统里非常常见。这个模型由两类线程和一个缓冲区组成来组成生产者线程:生产数据,并把数据放在这个队列里面缓冲区:存放生产者的数据的地方消费者线程:从队列里面取数据,消费数据运行流程生产者和消费者在同一时间段内共用同一个存储空间生产者往存储空间中添加产品消
使用ubuntu16.10需要安装vbox,在网上找了好多教程,都不管用,可能是过时了,或者根本没有16.10能用的教程,自己折腾了一番,发现官网早就有了教程https://www.virtualbox.org/wiki/Linux_Downloads教程开始: 1.先把下面的更新源加入到 /etc/apt/sources.list deb http://dow
Redis 实现分布式锁指定一个 key 作为锁标记,存入 Redis 中,指定一个 唯一的用户标识作为 value。当 key 不存在时才能设置值,确保同一时间只有一个客户端进程获得锁,满足互斥性特性。设置一个过期时间,防止因系统异常导致没能删除这个 key,满足防死锁特性。当处理完业务之后需要清除这个 key 来释放锁,清除 key 时需要校验 value 值,需要满足只有加锁的人才能释放锁








