<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_45873770的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_45873770</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_45873770]]></copyright><item><title><![CDATA[依赖冲突快速解决]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/159208593</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/159208593</guid><author>qq_45873770</author><pubDate>Wed, 18 Mar 2026 15:55:11 +0800</pubDate><description><![CDATA[点击有冲突的依赖，右键选择 Exclude，然后点击Reimport，再点击Refresh UI，就可以解决了，点击文本回到xml页面。文件底部有Dependency Analyzer。点击Dependency Analyzer。]]></description><category></category></item><item><title><![CDATA[RocketMQ 4.x + Spring Boot 生产级集成方案（完整笔记）]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/158843486</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/158843486</guid><author>qq_45873770</author><pubDate>Mon, 09 Mar 2026 14:17:40 +0800</pubDate><description><![CDATA[*** 自定义 RocketMQTemplate（通常不需要，starter 已自动配置）* 仅当需要修改 producer group、重试策略等时使用*/// ⚠️ 一般不建议自定义 RocketMQTemplate！// starter 默认已创建名为 rocketMQTemplate 的 Bean// 除非你有特殊需求（如多实例），否则删除此配置类更安全@Bean// 发送失败重试 2 次✅建议删除此配置类，直接使用 starter 自动注入的。]]></description><category></category></item><item><title><![CDATA[文件上传大小超过服务器限制]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157775283</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157775283</guid><author>qq_45873770</author><pubDate>Thu, 05 Feb 2026 21:12:24 +0800</pubDate><description><![CDATA[配置位置配置项推荐值作用100MB关键配置，解决Undertow限制50MB单个文件大小限制100MB整个请求大小限制Nginx100-200MBNginx代理层限制前端JS文件大小检查20MB用户体验优化。]]></description><category></category></item><item><title><![CDATA[将Map转成对应实体]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157769041</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157769041</guid><author>qq_45873770</author><pubDate>Thu, 05 Feb 2026 14:59:20 +0800</pubDate><description><![CDATA[当字符串包含非数字字符（如货币符号"¥100.5"、单位"123.45cm"或千位分隔符"1,234.5"）时，推荐使用自定义反序列化器。这让你能完全掌控转换逻辑。实现自定义反序列化器：创建一个类实现接口。在deserialze方法中编写清洗和转换逻辑。注意：引入的是import com.alibaba.fastjson.parser.DefaultJSONParser;@Override// 1. 首先将值作为字符串读取try {]]></description><category></category></item><item><title><![CDATA[将Map转成对应实体，但存在字段类型对不上，比如map里面是字符串（存在非数字字符），但实体是double]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157734311</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157734311</guid><author>qq_45873770</author><pubDate>Wed, 04 Feb 2026 17:29:26 +0800</pubDate><description><![CDATA[请对照以下表格检查你的代码和配置：排查要点正确的做法/代码示例常见的错误确保类声明正确继承了，泛型参数必须是Double。错误地继承（无泛型）或其他类型。必须正确重写方法。方法签名不正确，例如返回值是void或参数列表错误。注解应放在实体类的对应字段上。注解放在了类的顶部或getter/setter方法上，而非字段上。确保项目中的版本一致。版本冲突或混用了 Jackson 1.x 和 2.x 的注解。]]></description><category></category></item><item><title><![CDATA[微服务间通过Feign传输文件，处理MultipartFile类型]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157653590</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157653590</guid><author>qq_45873770</author><pubDate>Mon, 02 Feb 2026 16:55:07 +0800</pubDate><description><![CDATA[在接口中声明文件上传方法，并应用刚才的配置。]]></description><category></category></item><item><title><![CDATA[异步导出方案]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157504153</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157504153</guid><author>qq_45873770</author><pubDate>Thu, 29 Jan 2026 15:26:13 +0800</pubDate><description><![CDATA[如果数据量极大（十万级以上），应采用分页查询、流式写入的方式，防止内存溢出（OOM）。：除了前端轮询，可以在任务完成后通过WebSocket主动通知前端，提升用户体验。：在状态查询和下载接口中，务必加入权限校验，确保用户只能访问自己创建的文件。在Controller中，接收导出请求，立即生成UUID并创建任务记录。首先，我们需要一张表来跟踪导出任务的状态和存储信息。创建专用的线程池，避免核心业务资源被导出任务挤占。或创建时间过久的任务记录及其在MinIO中的文件。轮询任务状态，并在成功后获取下载地址。]]></description><category></category></item><item><title><![CDATA[MySQL 的 IN操作符]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157172550</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157172550</guid><author>qq_45873770</author><pubDate>Tue, 20 Jan 2026 10:47:06 +0800</pubDate><description><![CDATA[注意MySQL 的IN操作符本身保证查询结果的顺序与IN列表中指定的顺序一致。特性默认的IN查询使用使用​不固定，可能按主键、索引或物理存储顺序返回​ 按照IN列表中的顺序​ 按照给定的字符串列表顺序​无法控制在ORDER BY子句中使用FIELD函数在ORDER BY子句中使用函数​​不关心结果顺序时排序列表值类型为数字或短字符串，且列表直接写在SQL中时排序列表已是一个逗号分隔的字符串，或值中包含特殊字符时。]]></description><category></category></item><item><title><![CDATA[在Linux服务器上查找文件的相关命令]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157130345</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157130345</guid><author>qq_45873770</author><pubDate>Mon, 19 Jan 2026 10:32:42 +0800</pubDate><description><![CDATA[命令主要特点/查找依据查找速度适用场景find​实时遍历文件系统，可按名称、类型、时间、大小等条件精确搜索较慢（遍历硬盘）进行复杂条件查找、查找刚创建或更新的文件locate​基于预建文件名数据库搜索极快（查询数据库）快速模糊查找已知存在的文件，不要求结果绝对实时whereis​查找二进制程序、源码和手册页快快速定位命令的程序文件、源码及手册页的位置which​在PATH环境变量指定的路径中查找命令的可执行文件快确定当输入一个命令时，系统实际执行的是哪个文件type​。]]></description><category></category></item><item><title><![CDATA[达梦（DM）数据库中设置表空间]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157130242</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157130242</guid><author>qq_45873770</author><pubDate>Mon, 19 Jan 2026 10:29:52 +0800</pubDate><description><![CDATA[在达梦（DM）数据库中设置表空间数据文件路径，并在服务器上找到它，是数据库管理中的基础操作。操作环节关键动作/命令核心要点与说明​路径必须是，且目录需已存在。​查询所有数据文件及其所属表空间。关联系统视图，精确查看对应关系。​ls -l在Linux服务器上使用ls命令确认文件物理存在。]]></description><category></category></item><item><title><![CDATA[SQL查询性能优化 - EXISTS、IN]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/157025647</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/157025647</guid><author>qq_45873770</author><pubDate>Fri, 16 Jan 2026 14:35:20 +0800</pubDate><description><![CDATA[从客户表（c1）中，找出所有状态为“2”的客户，并且要求存在另一个状态也为“2”、邮箱包含'customer'、手机号以'138'开头的同名客户。将所有状态为“2”且满足存在性检查的最终结果，按照c1.name进行排序，然后为其分配一个连续的group_seq。]]></description><category></category></item><item><title><![CDATA[Nginx 最核心和常用的命令]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156986849</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156986849</guid><author>qq_45873770</author><pubDate>Thu, 15 Jan 2026 15:25:24 +0800</pubDate><description><![CDATA[类别命令说明与常用参数​nginx启动 Nginx 服务。使用指定的配置文件启动。：立即终止所有进程，中断正在处理的请求。：等待当前连接的任务处理完毕后再停止，生产环境首选。：在不中断服务的情况下使新配置生效。。：常用于日志切割后。​启动 Nginx 服务。停止 Nginx 服务。重启服务（先停止后启动，会造成短暂中断）。重新加载配置（与效果相同）。查看服务的运行状态，包括进程ID、错误信息等。​nginx -t。修改配置前的最佳实践。nginx -T测试配置并到屏幕。​nginx -v。]]></description><category></category></item><item><title><![CDATA[数据库事务]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156948457</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156948457</guid><author>qq_45873770</author><pubDate>Wed, 14 Jan 2026 16:38:09 +0800</pubDate><description><![CDATA[在Java开发中，要确保接口操作与数据库修改的原子性，避免部分成功导致的数据不一致，核心方法是使用。下面这个表格汇总了关键的实现方式。实现方式核心机制适用场景关键点​通过Connection对象手动控制commit()rollback()。纯JDBC项目，需要精细控制事务边界。需手动处理资源关闭和异常回滚。​声明式事务管理。在方法或类上添加注解，由框架代理实现事务的开启、提交和回滚。基于Spring框架的项目，是主流选择。默认对运行时异常（）及其子类进行回滚。可通过属性自定义。​。]]></description><category></category></item><item><title><![CDATA[Kafka中auto-offset-reset各个选项的作用]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156674732</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156674732</guid><author>qq_45873770</author><pubDate>Wed, 07 Jan 2026 08:58:02 +0800</pubDate><description><![CDATA[配置值起始位置是否消费历史消息典型应用场景earliest​分区现存最早的消息是，消费所有现存数据数据重播、数据迁移、补数、测试（确保不丢消息）latest​分区最新消息之后否，只消费启动后的新数据实时处理应用（默认）、大多数在线服务，避免处理历史积压none​不自动设置，直接抛异常无法开始消费偏移量必须存在的严格场景，需要人工介入seek​开发者指定的任意位置​取决于指定位置从检查点恢复、时间点回溯、精细化偏移量控制。]]></description><category></category></item><item><title><![CDATA[MySQL 支持的各类索引]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156309059</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156309059</guid><author>qq_45873770</author><pubDate>Fri, 26 Dec 2025 16:29:36 +0800</pubDate><description><![CDATA[在设计索引时，如果某些查询只需要返回少数几个字段，可以尝试创建一个包含这些查询字段的复合索引，使其成为覆盖索引，避免回表，能极大提升性能。：当MySQL优化器判断通过索引回表查询的成本高于直接顺序扫描全表时，会放弃使用索引。除全文索引外，下文讨论的索引类型（如唯一、主键、复合索引）默认都使用B+Tree结构。如果无法避免，优化器在数据量大时可能选择全表扫描，因为否定条件通常需要扫描大部分数据。，因为数据库引擎只需扫描索引即可返回数据，无需回表查询数据行。复合索引一索引多用，且比多个单列索引更高效。]]></description><category></category></item><item><title><![CDATA[优化SQL：如何使用 EXPLAIN]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156297215</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156297215</guid><author>qq_45873770</author><pubDate>Fri, 26 Dec 2025 10:26:26 +0800</pubDate><description><![CDATA[EXPLAIN是优化SQL查询不可或缺的工具。掌握其输出结果中type和Extra列的含义，是定位性能问题的关键。ALLrefrangeExtra下面这个表格汇总了使用EXPLAIN时返回结果中各字段的核心含义。字段含义与解读要点id​SELECT 查询的序列号。。​查询的类型，例如简单查询（SIMPLE）、主查询（PRIMARY）、子查询（SUBQUERY）、派生表查询（DERIVED）等。type​，即MySQL决定如何查找表中的行。]]></description><category></category></item><item><title><![CDATA[在Java中，从List A中找出List B没有的数据（即求差集）]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156277689</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156277689</guid><author>qq_45873770</author><pubDate>Thu, 25 Dec 2025 20:08:45 +0800</pubDate><description><![CDATA[对于小数据量或初学者，使用循环遍历易于理解。对于常规数据量且追求代码简洁性Stream API是非常好的选择。当处理大数据量时，HashSet优化法能显著提升性能。使用removeAll​ 方法时，务必注意它会修改原集合。如果不希望原集合被修改，应先创建副本。]]></description><category></category></item><item><title><![CDATA[Spring Boot 与 Apache POI 实现复杂嵌套结构 Excel 导出]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156270190</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156270190</guid><author>qq_45873770</author><pubDate>Thu, 25 Dec 2025 14:33:40 +0800</pubDate><description><![CDATA[实际业务中，我们常遇到的数据关系。例如，一个主实体包含多个一级子项，每个一级子项又包含多个二级子项。传统平面表格难以直观展示这种层次关系，需要和来优化可读性。]]></description><category></category></item><item><title><![CDATA[Feign调用添加重试机制]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/156235749</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/156235749</guid><author>qq_45873770</author><pubDate>Wed, 24 Dec 2025 15:57:22 +0800</pubDate><description><![CDATA[本文介绍了5种实现Feign客户端重试机制的方法：1）使用SpringRetry框架，通过注解和配置实现；2）自定义重试器，手动控制重试逻辑；3）采用Resilience4j框架，提供更强大的容错能力；4）通过自定义异常处理实现重试；5）使用拦截器方式手动控制重试流程。这些方法都支持设置重试次数、间隔时间等参数，其中SpringRetry和Resilience4j两种方案功能较为完善，推荐优先使用。开发者可根据项目需求选择适合的重试策略，提升微服务调用的可靠性。]]></description><category></category></item><item><title><![CDATA[SQL窗口函数(使用场景)]]></title><link>https://blog.youkuaiyun.com/qq_45873770/article/details/155983085</link><guid>https://blog.youkuaiyun.com/qq_45873770/article/details/155983085</guid><author>qq_45873770</author><pubDate>Tue, 16 Dec 2025 15:34:07 +0800</pubDate><description><![CDATA[窗口函数在大量数据上可能较慢，合理使用分区。：ORDER BY子句中的字段建议有索引。：明确指定ROWS或RANGE避免歧义。]]></description><category></category></item></channel></rss>