青山木

青山木

Hot 100 --- 每日温度
发表于2026-07-24|LeetCode 热题 HOT 100|算法•leetcode•数组•栈•单调栈
本文讲解每日温度的核心思路:用单调栈优化暴力遍历,从 O(n²) 降到 O(n)
Hot 100 --- 字符串解码
发表于2026-07-24|LeetCode 热题 HOT 100|算法•leetcode•递归•字符串•栈
本文讲解字符串解码的核心思路:用辅助栈处理嵌套括号,遇到 [ 入栈,遇到 ] 出栈并重复拼接
Hot 100 --- 腐烂的橘子
发表于2026-07-24|LeetCode 热题 HOT 100|算法•leetcode•BFS•队列
本文以LeetCode题目"腐烂的橘子"为例,讲解多源BFS的思路——所有腐烂橘子同时扩散,每轮加1分钟,最后用新鲜橘子计数判断是否全部腐烂
Hot 100 --- 实现 Trie (前缀树)
发表于2026-07-22|LeetCode 热题 HOT 100|算法•leetcode•Trie•前缀树•字典树•HashMap
本文以LeetCode题目"实现 Trie (前缀树)"为例,讲解前缀树的结构设计——节点含 isWord 字段和 HashMap 邻接表,以及 insert/search/startsWith 三个核心操作
Hot 100 --- 岛屿数量
发表于2026-07-22|LeetCode 热题 HOT 100|算法•leetcode•递归•BFS•队列•DFS
本文以LeetCode题目"岛屿数量"为例,从二叉树的递归视角迁移到二维网格的四方向递归,讲解DFS和BFS两种标记岛屿的方法
Hot 100 --- 二叉树中的最大路径和
发表于2026-07-22|LeetCode 热题 HOT 100|算法•leetcode•回溯•二叉树•递归•后序遍历
本文以LeetCode题目"二叉树中的最大路径和"为例,讲解"拐点"视角的思路,每个节点作为拐点更新全局最大值,同时只传单边最大路径给父节点
Redis 缓存一致性全解:从 Cache Aside 到延迟双删、Canal+MQ 的进阶之路
发表于2026-07-21|后端开发|Redis•缓存一致性•Cache Aside•延迟双删•Canal•MQ•分布式锁•binlog•旁路缓存策略
引入 Redis 缓存层后,"数据库更新了缓存却没跟上"就成了绕不开的一致性难题。本文按"问题 → 朴素方案为何失败 → Cache Aside → 先删 vs 后删 → TTL 兜底 → 延迟双删 + MQ 重试 → Canal + MQ → 分布式锁 → 何时放弃缓存"的进阶路线,系统讲透更新缓存与删除缓存的取舍、并发读写场景下的脏数据窗口、ACK 时序、Canal 痛点以及强一致业务的选型逻辑,并配多张流程图辅助理解。
Hot 100 --- 二叉树的最近公共祖先
发表于2026-07-19|LeetCode 热题 HOT 100|算法•leetcode•回溯•二叉树•递归•后序遍历
本文以LeetCode题目"二叉树的最近公共祖先"为例,讲解后序遍历+回溯汇总的思路,重点说明三种返回值情况的处理
Hot 100 --- 路径总和 III
发表于2026-07-19|LeetCode 热题 HOT 100|算法•leetcode•哈希表•回溯•二叉树•递归•前缀和
本文以LeetCode题目"路径总和III"为例,讲解二叉树上的前缀和+哈希表方法,重点说明与数组版560题的区别——多路径导致需要回溯哈希表
Redis 缓存三大经典问题:雪崩、击穿、穿透从原理到方案
发表于2026-07-19|后端开发|Redis•缓存雪崩•缓存击穿•缓存穿透•互斥锁•逻辑过期•布隆过滤器•缓存预热•高可用•限流熔断
Redis 缓存层一旦失效,请求就会瞬间穿透到数据库,把数据库冲垮,进而拖垮整个系统。本文按"问题 → 成因 → 预防层 → 响应层"的结构,系统讲透缓存雪崩(大面积失效)、缓存击穿(热点单点失效)、缓存穿透(查询不存在数据)三大经典问题,涵盖 TTL 随机偏移、逻辑过期、缓存预热、互斥锁双重确认、线程池异步重建、降级/等待策略、重试+MQ 兜底、定时任务巡检、布隆过滤器等核心机制。
1…678…13
avatar
青山木
正在学习Java后端开发+智能体开发,希望能与大家多多交流
文章
122
标签
295
分类
9
Follow Me
公告
欢迎来到我的博客,记录学习与成长的点滴。
最新文章
无标题
无标题2026-11-05
多线程为什么会读到旧值?从 CPU 缓存、JMM 到 volatile 的全链路拆解
多线程为什么会读到旧值?从 CPU 缓存、JMM 到 volatile 的全链路拆解2026-11-01
RAG为什么答不出全局性和关联性问题? GraphRAG 与 LightRAG 全链路拆解
RAG为什么答不出全局性和关联性问题? GraphRAG 与 LightRAG 全链路拆解2026-10-29
RAG 为什么总答不准?从切块到混合检索的全链路拆解
RAG 为什么总答不准?从切块到混合检索的全链路拆解2026-10-20
Java 并发基础全解:从进程与线程到多线程、线程安全与死锁
Java 并发基础全解:从进程与线程到多线程、线程安全与死锁2026-10-16
分类
  • Java3
  • LeetCode 热题 HOT 10084
  • RAG2
  • Redis1
  • agent8
  • 博客搭建1
  • 后端开发22
    • RocketMQ6
标签
Rebalance 工作流 缓存穿透 RocketMQ 原地哈希 实体消歧 线程池 PBAC 翻转 Java 双端队列 重试 volatile Redis Top K 回文 二叉树 LFU Cache Aside BM25 双向链表 分治 Canal Lua Graph Gossip 实战 GitHub Pages quicklist 布隆过滤器 模拟 BFS 顺序写 Docker 半消息 有序矩阵 Checklist PageCache LRU 底层数据结构
归档
  • 十一月 2026 2
  • 十月 2026 9
  • 九月 2026 33
  • 八月 2026 9
  • 七月 2026 35
  • 六月 2026 29
  • 五月 2026 1
  • 四月 2026 4
网站信息
文章数目 :
122
最后更新时间 :
© 2025 - 2026 By 青山木框架 Hexo 7.3.0|主题 Butterfly 5.5.4