- 博客(55)
- 收藏
- 关注
原创 MySQL索引优化实战:高效查询的黄金法则
建对索引 = 只给【经常用来查询、筛选、排序、关联】的字段建索引,让 MySQL 一查就能命中,不走全表扫描在文章表中:KEYKEYurl_slug按照文章分类 / 别名查询是”where=“高频操作可以建立索引在文章表中:KEYKEY文章列表按发布时间 / 更新时间倒序排序是高频展示操作,给排序字段建索引避免文件排序,提升查询速度在文章表中:KEYuser_id在评论表中:KEYarticle_id文章关联用户信息、评论关联文章内容是常用连表操作,给关联字段建索引,避免连表时全表扫描。
2026-05-30 13:01:54
164
原创 常见的排序算法
数据量大、完全乱序时,O(n2) 性能爆炸,直接拉胯。热搜榜、排行榜、海量数据取前 10、前 100,,只用于初学理解排序逻辑,面试几乎不考手写。不稳定排序,相等元素会打乱原有顺序。用户列表、订单、对象排序、成绩排名等。,给插入排序加步长分组优化。,数据量一上来直接卡死。
2026-05-22 21:43:50
493
原创 缓存穿透、缓存击穿、缓存雪崩的概念以及解决方案
问题核心原因关键特征核心方案穿透数据不存在缓存、DB 都无布隆过滤器、缓存空值击穿单个热点 Key 过期高并发、单 Key分布式锁、永不过期雪崩大量 Key / 缓存服务失效批量 / 全局失效随机过期、集群、限流。
2026-03-30 22:38:00
284
原创 数据一致性保障方案 -java后端
标配数据组件:MySQL(持久化)+ Redis(缓存)+ 消息队列(异步),复杂业务加 ES/NoSQL;一致性极简口诀单机用本地事务;缓存用先更 DB、后删缓存+ 过期时间;分布式用Seata(强一致)或消息队列 + 幂等(最终一致)。
2026-03-30 22:17:24
382
原创 Java算法题 代码细节 自用笔记
在 Java 算法题中,栈(Stack)的核心是「后进先出(LIFO)」,但 Java 官方不推荐用类(遗留类,性能和设计有缺陷),而是用Deque接口(双端队列)配合LinkedList实现栈功能 —— 这是算法题中的标准用法,既高效又规范。// 声明栈:Deque接口 + LinkedList实现类(泛型指定存储的数据类型)Deque<数据类型> stack = new LinkedList<>();
2025-12-02 22:42:36
331
原创 CodeTop算法题 16-20
做树相关的算法题时,我们首先会想到的是树的遍历,那好我们先看根节点,这个根节点什么情况下才是最近公共祖先呢?要么p、q都在左子树(情况二,切换根节点到左子树的跟节点),要么p、q都在右子树(情况三,切换根节点到右子树的跟节点)。情况二三下我们就缩小了树,且这个情况判断会定义成一个函数,输入树的根节点,目标值p、q,输出boolen······因此,我们只需要遍历价格数组一遍,记录历史最低点,然后在每一天考虑这么一个问题:如果我是在历史最低点买进的,那么我今天卖出能赚多少钱?标签:数组、双指针、排序。
2025-11-28 18:20:41
563
原创 CodeTop算法题 11-15
解法参考:直接放回值数组的广度优先搜索解法:广度优先搜索标签:树、广度优先搜索、二叉树视频参考:b站BV1eeC4Y2EvK。
2025-11-18 21:38:59
267
原创 CodeTop算法题 6-10
暴力三重for循环+去重?no先对数组排序(排序后满足),通过一层 for 循环固定第一个数 first;内层用 “second 右移 + third 左移” 的双指针模式,寻找满足(其中)的组合。标签:数组、双指针、排序。
2025-11-15 20:40:44
459
原创 单列集合- HashSet LinkedHashSet TreeSet学习笔记
添加元素的时候注意,元素不可重复,否则add方法会返回false不重复输出顺序与输入顺序不一定一致无序。
2025-11-11 19:47:39
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅