青山木

青山木

Hot 100 --- 从前序与中序遍历序列构造二叉树
发表于2026-07-18|LeetCode 热题 HOT 100|算法•leetcode•二叉树•中序遍历•递归•分治•前序遍历
本文以LeetCode题目"从前序与中序遍历序列构造二叉树"为例,详细讲解如何把"分治构造"的想法转化为递归代码,重点说明递归的出口和参数传递
Hot 100 --- 二叉树展开为链表
发表于2026-07-17|LeetCode 热题 HOT 100|链表•算法•leetcode•二叉树•先序遍历•迭代
本文以LeetCode题目"二叉树展开为链表"为例,讲解如何原地将二叉树按先序遍历展开为链表,通过"左子树最右节点接右子树"的迭代技巧实现O(1)空间
Hot 100 --- 二叉树的右视图
发表于2026-07-16|LeetCode 热题 HOT 100|算法•leetcode•二叉树•BFS•层序遍历•队列
本文以LeetCode题目"二叉树的右视图"为例,讲解为什么DFS局部思考会踩坑,以及如何用BFS层序遍历取每层最后一个节点得到右视图
Hot 100 --- 二叉搜索树中第K小的元素
发表于2026-07-15|LeetCode 热题 HOT 100|算法•leetcode•二叉树•二叉搜索树•中序遍历•递归
本文以LeetCode题目"二叉搜索树中第K小的元素"为例,讲解如何利用BST中序遍历递增的性质,通过全局计数器在遍历过程中找到第K小的元素
一把 Redis 分布式锁,踩透四个坑:锁争抢、僵尸锁、锁过期、锁丢失
发表于2026-07-15|后端开发|Redis•缓存•数据库•分布式锁•RedLock•Redisson•看门狗•Lua
Java 的 synchronized 和 ReentrantLock 只能锁住单个 JVM,多节点部署下会完全失效。本文从"为什么需要分布式锁"切入,按"问题 → 解决 → 引出新问题 → 再解决"的思路,讲清楚 Redis 分布式锁要解决的四大核心问题:锁争抢、僵尸锁、锁过期、锁高可用,以及对应的 SET NX EX、TTL 兜底、看门狗、UUID+Lua、RedLock 方案。
Hot 100 --- 验证二叉搜索树
发表于2026-07-14|LeetCode 热题 HOT 100|算法•leetcode•二叉树•二叉搜索树•中序遍历•递归
本文以LeetCode题目"验证二叉搜索树"为例,讲解BST的核心性质和两种验证方法:中序遍历(判断递增)和递归上下限传递,重点详解递归中上下限的传递关系
将有序数组转换为二叉搜索树:分治递归的优雅实践
发表于2026-07-14|LeetCode 热题 HOT 100|二叉树•递归•分治•LeetCode•BST
一道经典的二叉树构建题,将有序数组转换为平衡二叉搜索树的分治递归解法详解
Redis key 过期了就一定会被删吗?讲透过期删除与内存淘汰策略
发表于2026-07-13|后端开发|Redis•过期删除•内存淘汰•LRU•LFU•惰性删除•定期删除•缓存•数据库
Redis 的 key 设置了过期时间真的会到期就删吗?内存满了又要淘汰谁?本文从过期字典讲起,系统讲清三种过期删除策略(惰性、定时、定期)及 Redis 的组合方案,再过渡到 8 种内存淘汰策略,最后深入 LRU 近似实现与 LFU 的概率递增、时间衰减机制。
Redis 高可用的最后一公里:Cluster 分片、Gossip 与故障转移全流程
发表于2026-07-12|后端开发|Redis•缓存•数据库•Cluster•数据分片•Gossip•故障转移•哈希槽
主从+哨兵解决了高可用,但解决不了容量瓶颈。本文从数据分片出发,讲清楚 Redis Cluster 如何通过哈希槽分片、MOVED/ASK 重定向实现不停机扩容,如何通过 Gossip 协议完成去中心化通信,以及如何实现故障转移。
Hot 100 --- 二叉树的层序遍历
发表于2026-07-11|LeetCode 热题 HOT 100|算法•leetcode•二叉树•BFS•队列•广度优先搜索
本文以LeetCode题目"二叉树的层序遍历"为例,详细讲解BFS(广度优先搜索)的原理和实现,重点说明为什么用队列、队列如何保证层序、以及如何按层分组输出
1…789…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