<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dsq_MaDing的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dsq_MaDing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dsq_MaDing]]></copyright><item><title><![CDATA[DeepSeek 问答指令大全]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145774418</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145774418</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 12:26:29 +0800</pubDate><description><![CDATA[以【身份】的口吻，写一篇【产品】的种草笔记，突出3个使用场景和2个痛点解决方案。以【风格】写一篇关于【主题】的深度文章，包含3个分论点，每个论点配1个案例。围绕关键词【XXX】写一篇1000字的文章，密度3%，包含H2/H3标签。生成一个【时长】的短视频脚本，包含开场悬念+中间反转+结尾行动号召。设计一份【地点】的7天的旅行计划，包括景点、美食和交通建议。根据以下行为数据，生成【产品】的目标用户画像，包含3个特征。请基于【行业】的最新数据，预测未来6个月的3个趋势。请将下面复杂的段落简化为易懂的语言……]]></description><category></category></item><item><title><![CDATA[连接池（HikariCP、Druid）]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767344</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767344</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 02:01:38 +0800</pubDate><description><![CDATA[HikariCP 是一个高性能的 JDBC 连接池，由日本程序员 Brett Wooldridge 开发。它以其快速、轻量级和低延迟的特点而受到广泛关注，被 Spring Boot 等框架作为默认的连接池。Druid 是阿里巴巴开源的一个 JDBC 连接池，它不仅提供了高性能的连接池功能，还集成了监控、防御 SQL 注入等功能，是一个功能全面的数据库连接池解决方案。HikariCP 和 Druid 都是优秀的 JDBC 连接池，它们在性能、功能和配置等方面各有特点。]]></description><category></category></item><item><title><![CDATA[分库分表（ShardingSphere）相关知识详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767339</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767339</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 02:00:55 +0800</pubDate><description><![CDATA[分库：将一个数据库中的数据分散存储到多个数据库中。这样可以减轻单个数据库的负载压力，提高数据库的并发处理能力，同时也能增加数据的存储容量。分表：把一个表中的数据拆分到多个表中。当单表数据量过大时，查询和写入操作的性能会显著下降，分表可以有效缓解这个问题。ShardingSphere 是 Apache 软件基金会的顶级项目，它提供了分库分表、读写分离、分布式事务等功能。]]></description><category></category></item><item><title><![CDATA[MySQL 锁机制：行锁、间隙锁、死锁排查]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767330</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767330</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:58:27 +0800</pubDate><description><![CDATA[行锁和间隙锁是 MySQL 中重要的锁机制，它们分别用于保证数据的并发访问和解决幻读问题。行锁的粒度较细，适用于对数据的并发访问要求较高的场景；间隙锁则在可重复读隔离级别下发挥作用，防止幻读的发生。死锁作为并发控制中可能出现的问题，需要我们掌握有效的排查方法，通过优化事务执行顺序、减少锁的持有时间等措施来预防和解决死锁问题。]]></description><category></category></item><item><title><![CDATA[事务隔离级别与MVCC]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767327</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767327</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:57:56 +0800</pubDate><description><![CDATA[MVCC是一种用于处理数据库并发控制的技术，它通过维护数据的多个版本来实现高并发下的读操作和写操作的并发执行，从而提高数据库的并发性能，同时保证数据的一致性。总之，事务隔离级别规定了事务之间的隔离程度和数据一致性的保证级别，而MVCC是一种实现高并发下数据一致性的技术手段，它与事务隔离级别相互配合，在保证数据一致性的同时，提高了数据库的并发性能。事务隔离级别定义了一个事务与其他并发事务之间的隔离程度，它决定了一个事务对其他事务的可见性以及数据的一致性保证。]]></description><category></category></item><item><title><![CDATA[SQL优化与执行计划分析：解锁数据库性能密码]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767324</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767324</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:57:21 +0800</pubDate><description><![CDATA[随着数据量的增长和业务复杂度的提升，低效的SQL语句可能导致系统响应迟缓、资源浪费甚至应用程序崩溃。优化SQL可以显著提升数据库的吞吐量，减少查询执行时间，提升用户体验。例如，在一个电商系统中，快速的查询响应能让用户迅速找到所需商品，而不是在漫长的等待中失去耐心。但要注意，索引并非越多越好，过多的索引会增加数据插入、更新和删除的开销，因为每次数据变动时，索引也需要更新。调整数据库的配置参数，如内存分配、缓冲区大小等，也能提升整体性能。关键字，后跟SQL语句，即可查看执行计划。在Oracle中，使用。]]></description><category></category></item><item><title><![CDATA[MySQL 索引：B+ 树、覆盖索引与最左前缀原则]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767320</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767320</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:56:46 +0800</pubDate><description><![CDATA[B+ 树是一种多路平衡查找树，它是 MySQL 中最常用的索引数据结构。与传统的二叉树不同，B+ 树的每个节点可以有多个子节点，这使得树的高度相对较低，从而减少了磁盘 I/O 次数，提高了查询效率。B+ 树是 MySQL 索引的核心数据结构，它的平衡性和多路特性使得查询效率得到了显著提升。覆盖索引通过避免回表查询，进一步提高了查询速度。最左前缀原则是使用联合索引的重要准则，遵循该原则可以确保联合索引得到有效的利用。]]></description><category></category></item><item><title><![CDATA[Spring Security 核心流程详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767316</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767316</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:56:02 +0800</pubDate><description><![CDATA[Spring Security 通过一系列的核心组件和严谨的流程，实现了强大的身份验证和授权功能。从请求进入到身份验证，再到授权决策，每个环节都有相应的组件负责处理。]]></description><category></category></item><item><title><![CDATA[Spring 中 循环依赖解决与三级缓存]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767311</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767311</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:55:02 +0800</pubDate><description><![CDATA[循环依赖指的是两个或多个对象之间相互依赖，形成了一个闭环的依赖关系。例如，类A依赖类B，而类B又依赖类A，或者存在更复杂的多个类之间的循环依赖关系。在Spring框架中，三级缓存是解决循环依赖的核心机制。它主要由三个Map结构组成，分别用于存储不同状态的对象。Java中的循环依赖是一个需要重视的问题，它可能会导致应用程序出现严重的错误。而三级缓存作为一种有效的解决方案，通过巧妙地利用不同缓存层次存储不同状态的对象和对象工厂，成功地解决了循环依赖问题，保证了对象的正确创建和依赖注入。]]></description><category></category></item><item><title><![CDATA[Spring Boot 自动配置原理详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767307</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767307</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:53:46 +0800</pubDate><description><![CDATA[Spring Boot 的自动配置机制通过注解、文件和注解等技术，实现了根据项目依赖和配置自动配置 Bean 的功能。开发者只需要添加相应的 Starter 依赖，Spring Boot 就会自动为应用程序配置合适的组件，从而大大简化了开发过程。]]></description><category></category></item><item><title><![CDATA[Spring MVC 请求处理流程详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767302</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767302</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:52:43 +0800</pubDate><description><![CDATA[Spring MVC 的请求处理流程是一个有序的、模块化的过程，通过各个核心组件的协同工作，实现了请求的接收、处理和响应。理解这个流程有助于开发者更好地进行 Spring MVC 应用的开发和调试，能够更灵活地配置和扩展应用的功能。]]></description><category></category></item><item><title><![CDATA[事务管理：传播机制与隔离级别]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767298</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767298</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:52:00 +0800</pubDate><description><![CDATA[事务是一组数据库操作的逻辑单元，这些操作要么全部成功提交，要么全部失败回滚，以保证数据的一致性。在Java中，通常使用JDBC、Java Transaction API（JTA）或基于框架（如Spring）来进行事务管理。]]></description><category></category></item><item><title><![CDATA[Spring 中 Bean 生命周期与作用域详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767294</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767294</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:51:07 +0800</pubDate><description><![CDATA[Java Bean的生命周期和作用域是Java开发中重要的概念。理解并合理运用它们，能够使我们的代码更加健壮、高效。通过对Bean生命周期的各个阶段进行精细控制，可以实现复杂的初始化和销毁逻辑；而根据业务需求选择合适的作用域，则能优化资源利用，提升应用性能。]]></description><category></category></item><item><title><![CDATA[AOP 原理与动态代理：JDK Proxy 与 CGLIB 详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767287</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767287</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:50:10 +0800</pubDate><description><![CDATA[切面（Aspect）：切面是一个模块化的关注点，它包含了一组通知（Advice）和切点（Pointcut）。例如，日志记录可以作为一个切面，其中日志记录的具体操作是通知，而哪些方法需要记录日志则由切点来定义。通知（Advice）]]></description><category></category></item><item><title><![CDATA[Spring 中 IoC 与 DI 实现原理详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767277</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145767277</guid><author>dsq_MaDing</author><pubDate>Fri, 21 Feb 2025 01:49:04 +0800</pubDate><description><![CDATA[IoC 和 DI 是 Java 开发中非常重要的概念，它们通过将对象的创建和依赖关系的管理交给外部容器，实现了代码的解耦和可维护性的提升。依赖注入通过构造函数注入、Setter 方法注入等方式将依赖对象注入到目标对象中，其实现原理主要依赖于 Java 的反射机制和配置文件。]]></description><category></category></item><item><title><![CDATA[Java JVM 调优参数（Xms、Xmx、SurvivorRatio 等）详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755767</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755767</guid><author>dsq_MaDing</author><pubDate>Thu, 20 Feb 2025 15:47:16 +0800</pubDate><description><![CDATA[JVM 调优是一个复杂的过程，需要根据应用程序的特点、运行环境等因素综合考虑并调整各种参数。上述介绍的参数只是 JVM 调优参数中的一部分，在实际应用中，还需要结合具体情况进行深入分析和测试，以找到最适合的参数组合，从而提高应用程序的性能和稳定性。]]></description><category></category></item><item><title><![CDATA[Java 类加载机制：双亲委派模型与打破双亲委派]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755739</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755739</guid><author>dsq_MaDing</author><pubDate>Thu, 20 Feb 2025 15:46:26 +0800</pubDate><description><![CDATA[在 Java 中，类加载器（ClassLoader）是实现类加载的核心组件。启动类加载器（Bootstrap ClassLoader）：它是最顶层的类加载器，由 C++ 实现，负责加载 Java 的核心类库，如java.langjava.util等。启动类加载器无法被 Java 代码直接引用。扩展类加载器（Extension ClassLoader）：它是由 Java 代码实现的，继承自，负责加载 Java 的扩展类库，通常位于目录下。应用程序类加载器（Application ClassLoader）]]></description><category></category></item><item><title><![CDATA[Java OOM 异常场景与排查（堆、栈、方法区）]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755665</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755665</guid><author>dsq_MaDing</author><pubDate>Thu, 20 Feb 2025 15:44:14 +0800</pubDate><description><![CDATA[Java OOM 异常是一个复杂的问题，不同的内存区域出现 OOM 异常的原因和排查方法也有所不同。在开发和运维过程中，需要密切关注程序的内存使用情况，合理调整 JVM 参数，优化代码逻辑，以避免 OOM 异常的发生。当出现 OOM 异常时，要根据异常的类型和具体情况，采用合适的排查方法，找出问题的根源并进行解决。]]></description><category></category></item><item><title><![CDATA[Java 垃圾收集器：CMS、G1、ZGC 详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755634</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755634</guid><author>dsq_MaDing</author><pubDate>Thu, 20 Feb 2025 15:43:27 +0800</pubDate><description><![CDATA[CMS（Concurrent Mark Sweep）收集器是一种以获取最短回收停顿时间为目标的收集器，它非常适合注重响应时间的应用程序，如 Web 应用。G1 收集器是一种面向服务端应用的垃圾收集器，它在 JDK 7u4 及以上版本中被正式引入。G1 收集器的设计目标是在满足高吞吐量的同时，尽可能地降低垃圾收集的停顿时间。与传统的收集器将堆划分为新生代和老年代不同，G1 收集器将堆划分为多个大小相等的 Region，每个 Region 可以是 Eden 区、Survivor 区或老年代。]]></description><category></category></item><item><title><![CDATA[Java垃圾回收算法（标记清除、复制、标记整理）详解]]></title><link>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755597</link><guid>https://blog.youkuaiyun.com/dsq_MaDing/article/details/145755597</guid><author>dsq_MaDing</author><pubDate>Thu, 20 Feb 2025 15:42:19 +0800</pubDate><description><![CDATA[不同的垃圾回收算法适用于不同的场景。标记清除算法简单但会产生内存碎片；复制算法能避免碎片但浪费内存；标记整理算法综合了两者的优点，但存在移动对象的性能开销。在实际的Java虚拟机中，往往会根据不同的堆区域（如新生代、老年代）的特点，组合使用这些算法，以达到最佳的垃圾回收效果。]]></description><category></category></item></channel></rss>