<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[XYL147250的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/XYL147250</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; XYL147250]]></copyright><item><title><![CDATA[Spring状态机（讲解+实战）]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/149438117</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/149438117</guid><author>XYL147250</author><pubDate>Fri, 18 Jul 2025 11:26:58 +0800</pubDate><description><![CDATA[本文介绍了使用Spring StateMachine实现订单状态机的实战案例。通过定义订单状态枚举(待支付、待发货等)和事件枚举(支付、发货等)，配置状态流转规则，实现了订单状态的有序变更。核心处理类OrderStateMachineHandler负责管理状态机实例和状态转换，确保线程安全并持久化状态到数据库。项目采用三层架构，包含配置类、实体类、服务层和控制器，提供了创建订单和状态变更的REST接口。该方案解耦了业务逻辑与状态流转，适用于电商等需要严格状态管理的场景。]]></description><category></category></item><item><title><![CDATA[Java中枚举类的用法]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/149150865</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/149150865</guid><author>XYL147250</author><pubDate>Sun, 06 Jul 2025 11:25:47 +0800</pubDate><description><![CDATA[Java枚举类是一种实例数量固定的特殊类，包含枚举值、属性和方法。通过@Getter和@RequiredArgsConstructor简化代码后，示例展示了枚举值定义和静态Map初始化过程。其中，静态代码块将枚举值存入以name为键的Map，并提供getByName方法通过name获取对应枚举值。这种实现方式不仅代码简洁，还支持多种匹配方式，只需创建不同的Map即可。]]></description><category></category></item><item><title><![CDATA[配置文件注入属性值]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/149019609</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/149019609</guid><author>XYL147250</author><pubDate>Mon, 30 Jun 2025 11:38:15 +0800</pubDate><description><![CDATA[本文介绍了Spring框架中配置属性值的三种方法：首先通过配置文件定义属性值，其次使用@Value注解进行依赖注入，最后通过测试验证配置的正确性。这三种方式构成了Spring应用配置管理的基本流程，确保属性值能够正确加载和使用。]]></description><category></category></item><item><title><![CDATA[Java的线程池简单使用]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/148825395</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/148825395</guid><author>XYL147250</author><pubDate>Sun, 22 Jun 2025 11:48:37 +0800</pubDate><description><![CDATA[本文展示了如何通过线程池优化多线程任务执行效率。首先创建了一个配置类MyThreadPoolConfiguration，定义了一个包含10个核心线程的ThreadPoolExecutor。然后通过测试类比较了单线程和线程池执行30个耗时任务(每个任务休眠1秒)的性能差异。测试结果显示：单线程执行耗时约30秒，而线程池仅需3秒，提速约10倍(与核心线程数相关)。这证明了线程池在多任务处理中的高效性，通过复用线程资源显著减少了任务执行时间。]]></description><category></category></item><item><title><![CDATA[IO多路复用]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/148147563</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/148147563</guid><author>XYL147250</author><pubDate>Thu, 22 May 2025 19:14:57 +0800</pubDate><description><![CDATA[select 和 poll 是传统的 I/O 多路复用机制，但它们存在一些缺点。select 的主要问题是文件描述符数量有限，且每次调用都需要遍历所有描述符，效率较低。poll 解决了文件描述符数量限制的问题，但仍需遍历所有描述符，性能依然不高。epoll 则进一步优化了这些问题，它通过事件驱动的方式，只关注活跃的文件描述符，避免了不必要的遍历，显著提高了性能。此外，epoll 还支持边缘触发和水平触发两种模式，提供了更灵活的事件处理机制。因此，epoll 在处理大量并发连接时表现更为出色。]]></description><category></category></item><item><title><![CDATA[腾讯一面+二面总结]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/148085558</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/148085558</guid><author>XYL147250</author><pubDate>Tue, 20 May 2025 14:12:29 +0800</pubDate><description><![CDATA[博主总结了腾讯一面中Java面C++岗的面试经验，主要涉及项目、操作系统、计算机网络和算法等方面。在项目中，博主强调了数据库表设计的重要性，并分享了如何处理订单支付一致性、短信发送幂等性以及限流设计等问题的解决方案。操作系统部分讨论了进程、线程、协程、死锁条件、虚拟内存与物理内存映射等内容。计算机网络方面，博主提到了视频面试中使用的协议、HTTPS四次握手过程及其安全性问题。算法部分则包括括号匹配、最长递增子序列和版本号比较等题目。整体面试内容较为全面，涵盖了技术面试的多个核心领域。]]></description><category></category></item><item><title><![CDATA[分布式锁原理]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147857238</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147857238</guid><author>XYL147250</author><pubDate>Sat, 10 May 2025 18:46:45 +0800</pubDate><description><![CDATA[锁是确保线程互斥访问共享资源的机制，Redis通过setnx实现加锁，解锁时需确保当前线程持有锁，并通过Lua脚本保证原子性。为避免线程挂起导致锁无法释放，锁需设置过期时间。为防止业务未完成锁超时释放，引入看门狗机制定时续期。锁的重入性允许同一线程多次获取锁，synchronized和ReentrantLock通过计数器实现。分布式锁通过Redis的hsetnx实现，使用线程ID和UUID作为字段，重入次数为值。阻塞线程通过自旋或订阅发布机制获取锁。主从节点不同步可能导致锁信息丢失，红锁机制要求半数以上节点]]></description><category></category></item><item><title><![CDATA[2023华为od机试C卷【跳格子3】]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147679895</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147679895</guid><author>XYL147250</author><pubDate>Sat, 03 May 2025 14:23:33 +0800</pubDate><description><![CDATA[博主刷的华为机考题，代码仅供参考，因为没有后台数据，可能有没考虑到的情况。]]></description><category></category></item><item><title><![CDATA[华为OD机试真题 Java 实现【水库蓄水问题】]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147673542</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147673542</guid><author>XYL147250</author><pubDate>Fri, 02 May 2025 23:48:25 +0800</pubDate><description><![CDATA[博主刷的华为机考题，代码仅供参考，因为没有后台数据，可能有没考虑到的情况。]]></description><category></category></item><item><title><![CDATA[2023华为od统一考试B卷【二叉树中序遍历】]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147672105</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147672105</guid><author>XYL147250</author><pubDate>Fri, 02 May 2025 20:58:31 +0800</pubDate><description><![CDATA[博主刷的华为机考题，代码仅供参考，因为没有后台数据，可能有没考虑到的情况。]]></description><category></category></item><item><title><![CDATA[字节一面：后端开发]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147646970</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147646970</guid><author>XYL147250</author><pubDate>Thu, 01 May 2025 18:09:37 +0800</pubDate><description><![CDATA[博主的字节一面总结]]></description><category></category></item><item><title><![CDATA[大厂面试-Spring+SpringBoot+SpringCloud]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147490477</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147490477</guid><author>XYL147250</author><pubDate>Fri, 25 Apr 2025 13:38:27 +0800</pubDate><description><![CDATA[环绕通知。]]></description><category></category></item><item><title><![CDATA[大厂面试：MySQL篇]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147462591</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147462591</guid><author>XYL147250</author><pubDate>Wed, 23 Apr 2025 22:46:40 +0800</pubDate><description><![CDATA[关于mysql的常考面试题]]></description><category></category></item><item><title><![CDATA[大厂面试-redis]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147422914</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147422914</guid><author>XYL147250</author><pubDate>Wed, 23 Apr 2025 16:20:40 +0800</pubDate><description><![CDATA[本章内容来自B站大厂和小林coding博主学习笔记，如果有不对的地方，海涵。]]></description><category></category></item><item><title><![CDATA[大厂面试：六大排序]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147288067</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147288067</guid><author>XYL147250</author><pubDate>Wed, 16 Apr 2025 22:40:30 +0800</pubDate><description><![CDATA[本篇博客集中了冒泡，选择，二分插入，快排，归并，堆排，六大排序算法。]]></description><category></category></item><item><title><![CDATA[排序算法：冒泡排序]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147287987</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147287987</guid><author>XYL147250</author><pubDate>Wed, 16 Apr 2025 22:17:05 +0800</pubDate><description><![CDATA[1.依次比较相邻的两个数2.将大的换到后面3.一次循环后，最大的就在最后面4.重复上面的循环。]]></description><category></category></item><item><title><![CDATA[消息中间件面试题]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147258206</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147258206</guid><author>XYL147250</author><pubDate>Tue, 15 Apr 2025 22:41:23 +0800</pubDate><description><![CDATA[关于消息中间件的面试题]]></description><category></category></item><item><title><![CDATA[136. 只出现一次的数字]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147251670</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147251670</guid><author>XYL147250</author><pubDate>Tue, 15 Apr 2025 15:45:31 +0800</pubDate><description><![CDATA[所有数异或，相同的异或了等于0，剩下的数就是目标。任何数和0异或等于本身。任何数异或本身等于0。]]></description><category></category></item><item><title><![CDATA[62. 不同路径]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147197696</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147197696</guid><author>XYL147250</author><pubDate>Sun, 13 Apr 2025 21:35:21 +0800</pubDate><description><![CDATA[多维路径动态规划]]></description><category></category></item><item><title><![CDATA[CentOS安装docker]]></title><link>https://blog.youkuaiyun.com/XYL147250/article/details/147197515</link><guid>https://blog.youkuaiyun.com/XYL147250/article/details/147197515</guid><author>XYL147250</author><pubDate>Sun, 13 Apr 2025 21:25:19 +0800</pubDate><description><![CDATA[本文是作者学习docker的笔记包含安装，换源，验证docker，绝对好用。]]></description><category></category></item></channel></rss>