集合 ArrayList/Vector LinkedList HashMap HashSet LinkedHashMap Java 多线程 多线程中的常见问题 synchronized 关键字原理 多线程的三大核心 对锁的一些认知 ReentrantLock 实现原理 ConcurrentHashMap 的实现原理 如何优雅的使用和理解线程池 深入理解线程通信 一个线程罢工的诡异事件 线程池中你不容错过的一些细节 『并发包入坑指北』之阻塞队列 JVM Java 运行时内存划分 类加载机制 OOM 分析 垃圾回收 对象的创建与内存分配 你应该知道的 volatile 关键字 一次内存溢出排查优化实战 一次 HashSet 所引起的并发问题 一次生产 CPU 100% 排查优化实践 分布式 分布式限流 基于 Redis 的分布式锁 分布式缓存设计 分布式 ID 生成器 常用框架 Spring Bean 生命周期 Spring AOP 的实现原理 Guava 源码分析(Cache 原理) Kafka produce 源码分析 Kafka 消费实践 架构设计 秒杀系统设计 秒杀架构实践 设计一个百万级的消息推送系统 数据库 MySQL 索引原理 SQL 优化 数据库水平垂直拆分 一次分表踩坑实践的探讨 数据结构与算法 常见算法 一致性 Hash 算法原理 一致性 Hash 算法实践 限流算法 动手实现一个 LRU cache 亿级数据中判断数据是否不存在 Netty 相关 SpringBoot 整合长连接心跳机制 从线程模型的角度看 Netty 为什么是高性能的? 自己实现一个轻量级 HTTP 框架 为自己搭建一个分布式 IM(即时通讯) 系统 附加技能 TCP/IP 协议 一个学渣的阿里之路 如何成为一位「不那么差」的程序员 如何高效的使用 Git 联系作者