1. Elasticsearch 架构原理和网易云 NES 最佳实践

    介绍 Elasticsearch 的架构原理和网易云 NES 服务最佳实践

    2018/12/09 Middleware

  2. SSTable & LSM Tree

    介绍 SSTable & LSM Tree 关系,原理和使用

    2018/11/27 Middleware

  3. Elasticsearch Zen Discovery 选主实现原理

    Zen Discovery 是 Elasticsearch 选主和集群状态管理的模块,本文结合 Elasticsearch 6.3 源码分析 Zen Discovey 模块的实现。

    2018/11/12 Middleware

  4. Raft协议和Zab协议及其对比

    本文主要讲述 Raft 的原理和 ZK 的原理,并将两者主要机制进行了对比。

    2018/11/03 Paper

  5. Disruptor简介

    背景 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题。与Kafka(Apache Kafka)、RabbitMQ(RabbitMQ)用于服务间的消息队列不同,disruptor一般用于线程间消息的传递。

    2017/10/03 Middleware

  6. Java动态代理

    基于JDK的Java动态代理的实现

    2017/09/01 Java

  7. wait、notify与Condition

    具体场景 假设我们需要实现一个固定大小的支持多线程的环形缓冲区(ring buffer),该环形缓冲区支持FIFO顺序的get,put,以及大小相关的size,isFull,isEmpty操作,interface定义如下:

    2017/04/01 Java

  8. 并查集

    概述 本文用数组arr实现了并查集。

    2017/04/01 Algorithm

  9. ReentrantLock

    引言 ReentrantLock是JDK提供的一个可重入互斥锁,所谓可重入就是同一个锁允许被已经获得该锁的线程重新获得。可重入锁的好处可以在递归算法中使用锁,不可重入锁则导致无法在递归算法中使用锁。因为第二次递归时由于第一次递归已经占有锁,而导致死锁。本文我们将探讨JDK中ReentrantLock的实现。

    2017/04/01 Java

  10. LeetCode题目链接329. Longest Increasing Path in a Matrix

    tips:记忆化搜索的经典题目,分析与DP的关系

    2017/04/01 Algorithm