<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[简单易懂学技术]]></title><description><![CDATA[生动形象的将知识补充给自己]]></description><link>https://blog.youkuaiyun.com/LifeException</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LifeException]]></copyright><item><title><![CDATA[JAVA：简单易懂记住线程池（一）]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/157102305</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/157102305</guid><author>LifeException</author><pubDate>Sun, 01 Feb 2026 21:26:58 +0800</pubDate><description><![CDATA[线程池是一种线程管理机制，通过预先创建和复用线程来优化系统性能。其工作流程类似银行窗口系统：任务优先由核心线程处理，队列满时创建新线程，最终触发拒绝策略。相比频繁创建线程，线程池能复用资源、控制并发数、提高响应速度。核心参数包括线程数、队列容量和拒绝策略等。创建方式有Executors快捷工厂和自定义ThreadPoolExecutor两种，提供四种拒绝策略处理超载任务。线程池能有效管理系统资源，是优化多线程应用的利器。]]></description><category></category></item><item><title><![CDATA[Mysql：分库分表后怎么解决分布式访问的问题]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/157070534</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/157070534</guid><author>LifeException</author><pubDate>Sat, 31 Jan 2026 16:59:54 +0800</pubDate><description><![CDATA[分表只是手段，不是目的。]]></description><category></category></item><item><title><![CDATA[Mysql：简单易懂了解分表]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/157070162</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/157070162</guid><author>LifeException</author><pubDate>Mon, 19 Jan 2026 20:26:41 +0800</pubDate><description><![CDATA[数据库分表策略分为水平分表和垂直分表。水平分表按行拆分，将大数据表分散到结构相同的多张表中，适用于数据量过大或需按时间、地域划分的场景，优点是可扩展性强，但跨表查询复杂。垂直分表按列拆分，将宽表分为多个不同结构的表，适合字段过多、冷热数据分离或安全隔离的情况，优点是提升查询效率，但需频繁JOIN操作。选择策略建议优先考虑垂直分表解决性能问题，当数据量极大时再采用水平分表。垂直分表能解决80%的性能需求，且复杂度较低。]]></description><category></category></item><item><title><![CDATA[Mysql：SQL优化常用手段及explain使用（二）]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/157035770</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/157035770</guid><author>LifeException</author><pubDate>Sun, 18 Jan 2026 16:27:12 +0800</pubDate><description><![CDATA[本文通过五个典型案例展示了使用EXPLAIN进行SQL调优的方法：1）通过添加单列或复合索引优化全表扫描；2）利用复合索引消除文件排序；3）创建覆盖索引提升查询效率；4）遵循最左前缀原则设计索引；5）避免索引失效场景（如列运算、函数、类型转换等）。文章还介绍了高级调优技巧，包括JSON格式分析、EXPLAIN ANALYZE、优化器提示和索引使用统计，强调EXPLAIN是发现问题的手段，最终目标是通过索引优化、SQL改写等方案解决性能瓶颈。]]></description><category></category></item><item><title><![CDATA[Mysql：SQL优化常用手段及explain使用（一）]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/157035147</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/157035147</guid><author>LifeException</author><pubDate>Sat, 17 Jan 2026 23:04:39 +0800</pubDate><description><![CDATA[SQL性能优化检查清单：通过EXPLAIN分析查询执行计划是核心优化手段。重点关注type列（访问类型），从最优到最差依次为system&gt;const&gt;eq_ref&gt;ref&gt;range&gt;index&gt;ALL，至少应达到range级别。检查key列确保实际使用索引，避免key为NULL的全表扫描。注意Extra列中的警告信息，如Using filesort和Using temporary需要优先优化。优化建议包括：添加合适索引、使用覆盖索引、优化ORDER BY/GROUP B]]></description><category></category></item><item><title><![CDATA[JAVA：简单易懂了解锁升级]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/157034817</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/157034817</guid><author>LifeException</author><pubDate>Fri, 16 Jan 2026 22:27:59 +0800</pubDate><description><![CDATA[锁升级是JVM优化synchronized性能的机制，通过无锁→偏向锁→轻量级锁→重量级锁的渐进式升级，在保证线程安全的同时最小化性能开销。偏向锁优化单线程重复访问，轻量级锁通过自旋应对短时竞争，重量级锁则在激烈竞争时启用内核级调度。整个过程由JVM自动完成，实现从低开销到高保障的智能过渡，完美平衡了并发场景下的效率与安全性。]]></description><category></category></item><item><title><![CDATA[JAVA：简单易懂了解JMM]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/156954896</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/156954896</guid><author>LifeException</author><pubDate>Wed, 14 Jan 2026 22:39:50 +0800</pubDate><description><![CDATA[摘要：JVM（Java虚拟机）是Java程序运行的平台环境，负责类加载、内存管理和字节码执行等具体功能；JMM（Java内存模型）则是定义多线程并发访问内存的抽象规则，确保可见性、有序性和原子性。JVM如同实体工厂，JMM则是工厂的操作规范。JMM的核心包括Happens-Before原则、主内存/工作内存抽象模型，以及volatile、synchronized等关键字的内存语义。理解JMM能帮助开发者编写正确高效的并发程序，而JVM提供了程序运行的基础设施。二者共同构成了Java并发编程的基础框架。]]></description><category></category></item><item><title><![CDATA[Mysql：int(1) 和 int（10）的区别（常见误区）]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/156914524</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/156914524</guid><author>LifeException</author><pubDate>Tue, 13 Jan 2026 22:33:45 +0800</pubDate><description><![CDATA[摘要：MySQL中int(1)和int(10)的区别仅在于显示宽度而非存储空间，两者都占用4字节且数值范围相同。括号中的数字仅在启用ZEROFILL时影响显示格式（如补零），否则无实际影响。8.0版本已废弃ZEROFILL属性，建议需要格式化时改用LPAD函数。其他整数类型的显示宽度也不改变存储特性，实际应用中通常可忽略该参数，除非需要特定显示格式。]]></description><category></category></item><item><title><![CDATA[Mysql之简单易懂了解MVCC]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/156859704</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/156859704</guid><author>LifeException</author><pubDate>Mon, 12 Jan 2026 13:34:19 +0800</pubDate><description><![CDATA[MVCC 就是：每个事务看到的是数据库在某个时间点的"快照"，而不是实时数据。通过版本链和 ReadView 机制，实现读写不冲突和高并发。版本链：每次修改都记录旧版本，形成链表ReadView：事务开始时创建，决定哪些版本可见判断规则：沿着版本链找，找到第一个对当前事务可见的版本隔离级别：读已提交 vs 可重复读的区别在于 ReadView 的创建时机。]]></description><category></category></item><item><title><![CDATA[Mysql：简单易懂学会索引优化]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/156837351</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/156837351</guid><author>LifeException</author><pubDate>Mon, 12 Jan 2026 09:21:32 +0800</pubDate><description><![CDATA[数据库索引的核心作用与优化策略 索引是数据库中的&quot;目录&quot;，通过预先排序的数据结构（如B+树）加速查询。其工作原理类似书籍索引：通过有序排列的键值快速定位数据位置，避免全表扫描。优化要点包括：1）遵循最左前缀原则设计复合索引；2）优先为高选择性列建索引；3）利用覆盖索引减少I/O；4）避免索引失效操作（如函数计算、通配符开头的LIKE）。合理使用索引能在查询性能和维护成本间取得平衡，显著提升WHERE、JOIN、ORDER BY等操作的效率。]]></description><category></category></item><item><title><![CDATA[Mysql：简单易懂了解数据引擎]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/156836899</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/156836899</guid><author>LifeException</author><pubDate>Sun, 11 Jan 2026 22:37:00 +0800</pubDate><description><![CDATA[摘要：MySQL采用可插拔的存储引擎架构，主要引擎包括：InnoDB（默认引擎，支持事务、行级锁和崩溃恢复，适用于高并发业务）、MyISAM（读多写少场景，现已过时）、Memory（内存存储，速度快但数据易失）、Archive（高压缩归档存储）和CSV（数据交换）。建议优先选择InnoDB，它具备ACID事务、MVCC等特性，适合绝大多数业务场景；特殊需求如临时缓存可选Memory，历史归档可选Archive。存储引擎的选择直接影响数据库性能与功能特性。]]></description><category></category></item><item><title><![CDATA[Mysql：简单易懂了解MVCC]]></title><link>https://blog.youkuaiyun.com/LifeException/article/details/156807076</link><guid>https://blog.youkuaiyun.com/LifeException/article/details/156807076</guid><author>LifeException</author><pubDate>Sat, 10 Jan 2026 22:07:25 +0800</pubDate><description><![CDATA[MVCC（多版本并发控制）通过快照机制实现读写不冲突。核心原理是：1）每行数据维护版本链，记录历史版本；2）事务创建ReadView，根据事务ID判断可见性。读操作看到的是事务开始时的数据快照，写操作更新最新版本。不同隔离级别通过调整ReadView创建时机实现：读已提交每次查询新建ReadView，可重复读仅首次查询创建。MVCC显著提升并发性能，避免了读写阻塞问题。]]></description><category></category></item></channel></rss>