一直想写篇文章总结下分布式一致性算法,但是这个东西细节实在太多…每次捋一半就卡住。 这篇文章,是第三次重写。 本文只是总结各个分布式算法之间的易同,前提是需要对各个算法有一定的理解。 分布式一致性算法是为了解决集群中主从服务数据 … 继续阅读 分布式一致性算法
二分搜索算法及其变体
二分的思想很简单,但是代码的细节确很难理解,每次做算法遇到二分的变体,脑子里都是浆糊,当时理解了,后面又忘了,需要注意的细节太多太多了,网上有很多分析二分变体的博客,写的都很详细,但是总是阅后即忘。。。 今天碰巧又遇到了这类算法,痛定思痛, … 继续阅读 二分搜索算法及其变体
Redis 深入解析
Redis作为目前互联网领域使用最广泛的存储中间件,Redis有着超高的性能,丰富的功能,其应用范围之广泛,几乎说道缓存,第一个选择便是Redis。Redis所提供的的丰富的数据结构以及对数据结构的各种操作指令使得Redis不仅仅可以作为缓 … 继续阅读 Redis 深入解析
我所理解的IO
我所理解的IO 要说IO基本上所有人都用过,但是每每提起NIO,BIO,AIO这些概念,总是觉得模糊又清晰。下面简单的总结下: 首先,抛开Java NIO的概念,从操作系统的层面上说说几种IO BIO(Blocking IO) 在操作系统刚 … 继续阅读 我所理解的IO
手撕LFU缓存策略
LFU 缓存实现 最近在复习Redis缓存策略的时候,看到Redis 4.0支持了一种新的缓存淘汰策略:LFU(Least Frequently Used),猛然想起在Dubbo的介绍中,也说过这个策略。 LFU主要是淘汰最近使用次数最少的 … 继续阅读 手撕LFU缓存策略
Kafka 开发使用指南
Kafka 总结 前言: 最近发布的文章都是类似xxx总结,因为工作原因,没有时间一个章节一个章节的剖析,但是又不想放弃总结习惯,因此就选择了这种结合几本书写一个总结形式,怎么说呢,等后面不那么忙的时候,再来简单补一补吧。 下面的内容,结合 … 继续阅读 Kafka 开发使用指南
Kafka消息丢失与重复消费
Kafka作为一个消息中间件,在某些情况下可能会丢失消息,如果在一些重要的业务场景中,消息的丢失可能会带来重大的问题,因此我们简单分析下丢消息的场景以及如何避免: 生产者丢消息 对于生产者来说,一般丢消息指的是生产者认为消息已经发送,但是其 … 继续阅读 Kafka消息丢失与重复消费
MySQL的万字总结
MySQL是一个开源的,线程关系型数据库,其名字来源于创作者Monty的女儿的名字:My 在MySQL中,一般数据库,指的是存放数据的文件,而数据库实例指的是用来执行SQL的进程。 以下总结,都是基于MySQL InnoDB存储引擎。 该总 … 继续阅读 MySQL的万字总结
GC 总结二-CMS
上一篇我们介绍了如果要使用自动内存管理以及垃圾回收,应该如何做,有哪些难点以及解决方法,接下说说在HotSpot虚拟机中,使用过的经典的垃圾回收器: 单线程垃圾回收器 Serial / Serial Old 收集器 Serial收集器是最初 … 继续阅读 GC 总结二-CMS
GC 总结一-序
周志明大大的《深入理解Java虚拟机》出第三版了,早早的买了这本书,却一直没有花时间看。近来抽空温习了一下,感觉又有了新的收获。这里简单总结下。 GC的由来 由于堆的动态性,操作系统将堆交由给了开发者自己管理,手动申请,手动释放。对于C++ … 继续阅读 GC 总结一-序