滑动窗口

**滑动窗口(Sliding Window)**是一种处理数组和字符串子区间问题的常用技巧。它通过维护一个由 left 和 right 定义的窗口,将很多 $O(n^2)$ 的双重 …  Read More>>

并发模型

在计算机领域中,我们通常要进行多任务处理。计算机操作系统通过多核/多线程调度(CPU流水线)以及上下文切换为多任务处理提供了很好的支持。 但是如何充分利用现有系统资源,最大限度地提 …  Read More>>

JVM内存泄漏排查

堆内存泄漏 长生命周期的对象,持有短生命周期对象的引用,导致后者无法被 GC 回收。 我们先来简单造一个典型的错误案例。我们有一个内存cache, 然后key是object类型 …  Read More>>

JVM线程分析

线程的状态 参考定义 java.lang.Thread.State public enum State { /** * Thread state for a thread …  Read More>>

缓存

Redis 核心架构与原理 为什么 Redis 这么快? 完全基于内存:绝大部分请求是纯内存操作。 高效的数据结构:专门设计的 SkipList、SDS、压缩列表等。 单线程模型: …  Read More>>