<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[手写ArrayList]]></title><description><![CDATA[手写ArrayList]]></description><link>https://blog.youkuaiyun.com/thqtzq</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; thqtzq]]></copyright><item><title><![CDATA[rocketmq工作原理]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/162429672</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/162429672</guid><author>thqtzq</author><pubDate>Mon, 29 Jun 2026 20:47:55 +0800</pubDate><description><![CDATA[1，https://xiaolyuh.blog.youkuaiyun.com/article/details/1569822772，https://neols.blog.youkuaiyun.com/article/details/151831767]]></description><category></category></item><item><title><![CDATA[本地消息表]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/162175161</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/162175161</guid><author>thqtzq</author><pubDate>Sun, 21 Jun 2026 17:34:25 +0800</pubDate><description><![CDATA[本地事务绑定业务+消息记录，异步MQ投递，解决消息丢失；分布式事务分两大类：强一致（XA2PC）、柔性最终一致（TCC/Saga/消息方案）；互联网高并发业务极少用XA，优先消息方案、Seata AT；资金场景TCC；长流程Saga；大厂统一趋势：异步同步用RocketMQ事务消息替代原始本地消息表，减少DB轮询压力。]]></description><category></category></item><item><title><![CDATA[分布式事务： 本地消息表]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/162173871</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/162173871</guid><author>thqtzq</author><pubDate>Sun, 21 Jun 2026 15:38:22 +0800</pubDate><description><![CDATA[是，作用是把需要异步执行的操作（如 AI 匹配、自动审核、报价匹配、机构同步等）以事件形式持久化到数据库，再通过 MQ 交给消费者异步处理。]]></description><category></category></item><item><title><![CDATA[Kafka、RocketMQ、RabbitMQ 三大消息队列]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161663458</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161663458</guid><author>thqtzq</author><pubDate>Wed, 03 Jun 2026 19:47:56 +0800</pubDate><description><![CDATA[我给你用全程不绕弯、不堆砌概念，。]]></description><category></category></item><item><title><![CDATA[分布式事务 实战代码（SpringCloud + Seata）]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161631596</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161631596</guid><author>thqtzq</author><pubDate>Tue, 02 Jun 2026 18:58:55 +0800</pubDate><description><![CDATA[面试（无侵入、自动回滚、企业 90% 在用）。我直接给你。]]></description><category></category></item><item><title><![CDATA[代理模式 vs 适配器模式]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161601469</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161601469</guid><author>thqtzq</author><pubDate>Mon, 01 Jun 2026 21:28:13 +0800</pubDate><description><![CDATA[转换接口，让两个接口不匹配的类正常协作场景：老接口/第三方接口、格式不一样，我要“转一下”才能用兼容、转换、适配、接口不一致。]]></description><category></category></item><item><title><![CDATA[线上慢SQL排查完整实战案例]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161573188</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161573188</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 23:08:53 +0800</pubDate><description><![CDATA[负责t_order（订单表），数据量约800w条。]]></description><category></category></item><item><title><![CDATA[索引的排序和分组]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161572880</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161572880</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 22:41:33 +0800</pubDate><description><![CDATA[c 索引有序被 b 过滤打乱，用索引要大量回表+排序，成本高 → 放弃索引，全表扫描。GROUP BY 只需要 c 有序去重分组，可以边扫边过滤，避免 filesort → 选择 c 单列索引。]]></description><category></category></item><item><title><![CDATA[MySQL 优化器会选择【最小、最精准、最高效】的索引]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161572627</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161572627</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 22:22:15 +0800</pubDate><description><![CDATA[只查 a → 用最小的索引（单列a），不用大而全的联合索引！]]></description><category></category></item><item><title><![CDATA[只要条件字段在联合索引里，MySQL8.0+ 默认都会触发 索引下推（ICP）]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161572505</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161572505</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 22:11:18 +0800</pubDate><description><![CDATA[命中索引：a（1个）索引下推：生效（c 参与过滤）命中索引：a、b（2个）索引下推：生效命中索引：a、b（2个）索引下推：生效。]]></description><category></category></item><item><title><![CDATA[联合索引是按顺序排好序的]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161572271</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161572271</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 21:54:54 +0800</pubDate><description><![CDATA[前面是 = → 后面有序 → 索引能用前面是 > → 后面乱序 → 索引失效范围字段本身可以使用索引，但范围字段之后的所有字段，索引全部中断；中断和后面是in无关，只要前面出现范围，后面字段都无法走索引检索（仅能靠索引下推做数据过滤）。]]></description><category></category></item><item><title><![CDATA[mysql联合索引经典实例]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161572093</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161572093</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 21:36:37 +0800</pubDate><description><![CDATA[where a = 1 （使用联合索引、若a字段存在单独索引，此处仍优先使用联合索引）where a = 1 and b>2 and c=3  （使用c索引）where a > 1 and b=2 and c=3  （使用c索引）where a > 1 and b=2 and c>3  （不使用索引）where a=1 and b=2 and c=3 （使用联合索引）where b = 1 and a = 2  （使用联合索引）where c = 1 order by b （使用c索引）]]></description><category></category></item><item><title><![CDATA[jstack和jstat有什么区别？]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161571391</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161571391</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 20:30:57 +0800</pubDate><description><![CDATA[jstack 看线程（栈）→ 查CPU高、死锁、代码卡在哪jstat 看内存（GC）→ 查内存泄漏、GC频繁、堆使用一个看线程，一个看垃圾回收，完全不是一个东西。jstack = 线程快照 → 排查 CPU 高、死锁、代码卡住jstat = GC 统计 → 排查内存占用、频繁 GC。]]></description><category></category></item><item><title><![CDATA[线上CPU飙高排查]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161571358</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161571358</guid><author>thqtzq</author><pubDate>Sun, 31 May 2026 20:27:33 +0800</pubDate><description><![CDATA[修复死循环、简化密集计算、优化对象创建避免内存泄漏、合理配置线程池与锁、错峰执行定时任务。导出堆文件用MAT分析内存问题，同时结合监控、日志、定时任务综合排查，先止损再修复代码。第二类是GC异常：内存泄漏、频繁Full GC/YGC，GC线程占用大量CPU；看线程栈，业务线程卡在业务代码就是死循环/计算；第一类是业务代码问题：死循环、递归无退出、密集计算、频繁创建对象；查看进程内线程，找到CPU最高的线程ID，转为十六进制；第三类是并发问题：锁竞争、线程池不合理、线程空转；看到GC频繁，就是GC问题。]]></description><category></category></item><item><title><![CDATA[什么是Redis的 IO 多路复用]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161549215</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161549215</guid><author>thqtzq</author><pubDate>Sat, 30 May 2026 23:45:06 +0800</pubDate><description><![CDATA[epoll 是 Linux 下高性能 IO 多路复用实现，依靠内核红黑树与就绪链表，让单线程高效监听海量网络连接，支撑高并发网络服务。]]></description><category></category></item><item><title><![CDATA[Redis 高频面试 10 题]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161549198</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161549198</guid><author>thqtzq</author><pubDate>Sat, 30 May 2026 23:43:17 +0800</pubDate><description><![CDATA[标准答案核心命令处理为单线程模型，避免多线程竞争、上下文切换开销；基于内存操作，内存读写速度远高于磁盘；采用IO 多路复用（epoll），单线程高效监听多个网络连接；数据结构设计高效，底层编码做了大量优化。精简口述Redis 命令执行单线程，无线程竞争；纯内存操作 + IO多路复用，兼顾并发与性能。]]></description><category></category></item><item><title><![CDATA[Redis 分布式锁 + 部署模式]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161549175</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161549175</guid><author>thqtzq</author><pubDate>Sat, 30 May 2026 23:40:07 +0800</pubDate><description><![CDATA[我给你。]]></description><category></category></item><item><title><![CDATA[聚簇索引 + 二级索引 + 回表 + 索引下推]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161548820</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161548820</guid><author>thqtzq</author><pubDate>Sat, 30 May 2026 22:53:05 +0800</pubDate><description><![CDATA[回表 = 先查二级索引拿到主键，再拿主键去查聚簇索引，多跑一遍索引树。InnoDB 聚簇索引叶子节点存整行数据，二级索引只存主键。用二级索引查询时，需要通过主键再查聚簇索引拿完整数据，这个过程叫回表。回表会增加IO，影响性能。索引下推不能解决最左前缀的问题，但能在索引层面提前过滤无效数据，减少回表次数，优化查询效率。]]></description><category></category></item><item><title><![CDATA[索引下推（ICP）：在已经用到联合索引的前提下，减少回表次数，提升查询效率]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161548776</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161548776</guid><author>thqtzq</author><pubDate>Sat, 30 May 2026 22:47:13 +0800</pubDate><description><![CDATA[联合索引跳字段（跨字段）无法使用索引的缺点，是最左前缀原则导致的，索引下推无法解决这个问题，不能让跳过的字段重新用上索引。但索引下推可以在已使用索引前缀的基础上，把剩余条件下推到存储引擎过滤，减少大量无效回表，从而提升查询效率。]]></description><category></category></item><item><title><![CDATA[角色权限系统]]></title><link>https://blog.youkuaiyun.com/thqtzq/article/details/161522317</link><guid>https://blog.youkuaiyun.com/thqtzq/article/details/161522317</guid><author>thqtzq</author><pubDate>Fri, 29 May 2026 18:41:49 +0800</pubDate><description><![CDATA[用户绑定角色，角色绑定权限，登录查权限存入Redis，前端按钮判断、后端接口判断。]]></description><category></category></item></channel></rss>