<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ggjklncffd的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ggjklncffd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ggjklncffd]]></copyright><item><title><![CDATA[浅谈Spring三级缓存]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/160381960</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/160381960</guid><author>ggjklncffd</author><pubDate>Tue, 21 Apr 2026 22:51:03 +0800</pubDate><description><![CDATA[ 最近一直在面试，上周遇到这个问题，因为之前其实梳理过这个问题，但是因为时间过去很久，一些细节给忽略掉了，今天正好找到了之前画的示意图，针对Spring的循环依赖问题的解决方案，再尝试自己去理解下，可能不是很周全，如有错的地方，还望指正。]]></description><category></category></item><item><title><![CDATA[浅谈消息队列（MQ）核心理解与常见问题解决-消息丢失]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/160341646</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/160341646</guid><author>ggjklncffd</author><pubDate>Mon, 20 Apr 2026 21:00:46 +0800</pubDate><description><![CDATA[相信从事开发的同学，对 MQ 都不会陌生。今天简单聊聊自己的一些感悟，表述如有不周，还望多多包涵。]]></description><category></category></item><item><title><![CDATA[飞书审批对接-自建企业应用的主要作用]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/127798376</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/127798376</guid><author>ggjklncffd</author><pubDate>Wed, 24 Sep 2025 23:11:43 +0800</pubDate><description><![CDATA[自建企业应用的核心作用：认证中心：处理所有API调用的身份验证数据桥梁：在第三方系统和飞书审批之间转换数据格式功能聚合：在工作台统一展示审批相关功能用户体验：提供无缝的审批发起和处理体验监控管理：跟踪审批状态，处理异常情况自建应用是操作审批表单的工具审批表单是承载审批内容的容器两者通过API和回调机制紧密协作没有自建应用，第三方系统就无法以自动化、标准化的方式与飞书审批集成！]]></description><category></category></item><item><title><![CDATA[Linux快速安装JDK1.8]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/129940435</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/129940435</guid><author>ggjklncffd</author><pubDate>Wed, 10 Sep 2025 22:57:48 +0800</pubDate><description><![CDATA[如果您将JDK安装包重新命名为其他名称，需将以下命令中的。2.执行以下命令，解压下载的JDK 1.8安装包。1.执行以下命令，下载JDK 1.8安装包。3.执行以下命令，移动并重命名JDK安装包。5.执行以下命令，查看JDK是否成功安装。4.执行以下命令，配置Java环境变量。返回如下信息，表示JDK已安装成功。本示例中将JDK安装包重命名为。，您可以根据需要使用其他名称。废话不多说，直接上教程。]]></description><category></category></item><item><title><![CDATA[如何用mockito+junit测试代码]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/148051521</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/148051521</guid><author>ggjklncffd</author><pubDate>Sun, 18 May 2025 22:48:21 +0800</pubDate><description><![CDATA[返回成功消息。]]></description><category></category></item><item><title><![CDATA[Redis的基础，经典，高级问题解答篇]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/130176051</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/130176051</guid><author>ggjklncffd</author><pubDate>Thu, 27 Mar 2025 22:52:04 +0800</pubDate><description><![CDATA[缓存永不过期，但存储的数据中增加逻辑过期时间字段，由业务代码判断是否需要异步更新。：单线程处理所有网络I/O、命令解析和执行，避免锁竞争，但无法利用多核CPU。：排行榜（按分数排序）、延迟队列（以时间戳为score）、带权重的任务调度。：若事务中某条命令执行失败（如语法错误），其他命令仍会继续执行，无回滚机制。：value使用唯一值（如UUID+线程ID），避免误删其他客户端的锁。源节点将槽内键逐个迁移到目标节点，期间对正在迁移的键的请求，源节点返回。]]></description><category></category></item><item><title><![CDATA[Java核心（集合、多线程、JVM调优）、JDK8+特性（Lambda、Stream API），以及Spring全家桶（Spring Boot、Spring MVC、Spring Data JPA）]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/131335692</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/131335692</guid><author>ggjklncffd</author><pubDate>Sat, 22 Mar 2025 23:47:16 +0800</pubDate><description><![CDATA[Java核心（集合、多线程、JVM调优）、JDK8+特性（Lambda、Stream API），以及Spring全家桶（Spring Boot、Spring MVC、Spring Data JPA）]]></description><category></category></item><item><title><![CDATA[在Java中使用LambdaUpdateWrapper更新数据：深入剖析]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/138140346</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/138140346</guid><author>ggjklncffd</author><pubDate>Fri, 21 Mar 2025 15:54:25 +0800</pubDate><description><![CDATA[结合以上分析，这段代码实现了在。]]></description><category></category></item><item><title><![CDATA[SpringBoot启动过程有哪些步骤（源码详细分析）]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/146303039</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/146303039</guid><author>ggjklncffd</author><pubDate>Sun, 16 Mar 2025 23:34:00 +0800</pubDate><description><![CDATA[构造SpringApplication对象->调用run方法（准备Environment-打印Banner->创建Spring容器->预处理Spring容器->刷新Spring容器。下面构建完SpringApplication之后开始调用run方法，在这个过程中，又会做哪些事情呢，咱们接着往下看。，用于在应用启动的早期阶段（如配置中心加载）注册组件。这些监听器用于响应应用事件（如上下文启动、失败等）。：干预 Bean 的创建过程（如 AOP 代理）。方法，用于启动后执行自定义逻辑（如数据初始化）。]]></description><category></category></item><item><title><![CDATA[细讲Security的用户信息保存机制]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/144638870</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/144638870</guid><author>ggjklncffd</author><pubDate>Sun, 22 Dec 2024 01:48:34 +0800</pubDate><description><![CDATA[下面的所有讲解都将以ruoyi-vue的后端代码进行讲解这是获取用户信息的方法，通过getAuthentication()方法是通过/*** 获取Authentication*/通过继续往下面最源码发现这是有本地线程进行记录的来到SecurityContextHolderStrategy接口发现有三个实现类，这三个实现类都有自己的含义在的。]]></description><category></category></item><item><title><![CDATA[如何将若依项目改成自己的项目（避坑）]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/144495208</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/144495208</guid><author>ggjklncffd</author><pubDate>Mon, 16 Dec 2024 00:31:04 +0800</pubDate><description><![CDATA[有的小伙伴要将ruoyi改成自己的项目，将文件名进行修改，这个里面的坑是真多，下面将一一列举，大家可以照看自己项目修改之后报错是哪里没修改到位。]]></description><category></category></item><item><title><![CDATA[Windows通过cmd运行快速启动应用]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/139380499</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/139380499</guid><author>ggjklncffd</author><pubDate>Sat, 01 Jun 2024 22:31:36 +0800</pubDate><description><![CDATA[通过将应用程序路径添加到系统环境变量，可以在命令提示符中直接运行应用程序，而无需输入完整路径。这不仅简化了操作流程，还提高了工作效率。设置完成后，只需打开命令提示符并输入应用程序名称，即可快速启动应用程序。]]></description><category></category></item><item><title><![CDATA[windows上打开redis服务闪退问题处理]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/136923386</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/136923386</guid><author>ggjklncffd</author><pubDate>Thu, 21 Mar 2024 23:01:00 +0800</pubDate><description><![CDATA[也可以将这个命令新建一个txt文件，写入之后将后缀改为.bat,后续只需要点击运行即可。可以使用命令直接启动服务，先进入到redis的根目录下输入下一命令打开redis服务。]]></description><category></category></item><item><title><![CDATA[整合shoir]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/136519355</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/136519355</guid><author>ggjklncffd</author><pubDate>Wed, 06 Mar 2024 22:07:11 +0800</pubDate><description><![CDATA[📍doGetAuthorizationInfo()方法：用于处理Shiro的授权，获取用户的角色和权限信息。shiroFilterFactoryBean()：配置Shiro的过滤器工厂，用于设置过滤条件和跳转条件。securityManager()：配置Shiro的安全管理器，主要是配置Realm的管理认证。myShiroRealm()：将自定义的Realm加入容器中，用于Shiro的认证和授权。shiro-spring：提供Apache Shiro安全框架的Spring集成。]]></description><category></category></item><item><title><![CDATA[如何使用poi导出Excel文档]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/135442187</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/135442187</guid><author>ggjklncffd</author><pubDate>Sun, 07 Jan 2024 17:32:04 +0800</pubDate><description><![CDATA[【代码】如何使用poi导出Excel文档。]]></description><category></category></item><item><title><![CDATA[NEO4J常用命令]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/134819171</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/134819171</guid><author>ggjklncffd</author><pubDate>Tue, 05 Dec 2023 23:15:02 +0800</pubDate><description><![CDATA[match （n:student）-[r:关系名称] ->(m:student) where n.name = "小明" and m.name="小红“ delete r。match p = (:person {name:‘属性值’})-[r:'关系名称']->() return p。match （n:节点名称）where n.属性  = 属性值 return n。match (n:节点名称 {属性：属性值}) return n。4.根据对应的节点名称和关系名称查询这个关系网。2.根据条件查询对应的节点。]]></description><category></category></item><item><title><![CDATA[给定一组经纬度如何判断某点是否在这组经纬度的范围之内（电子围栏实现代码）]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/134759912</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/134759912</guid><author>ggjklncffd</author><pubDate>Sun, 03 Dec 2023 00:16:14 +0800</pubDate><description><![CDATA[是 Java 中用于创建和操作基本几何形状（如线条和曲线）的类。它是 Java 2D API 中的一部分，提供了一种可用于绘制 2D 图形的机制。使用JTS Topology Suite 是 Java 的空间数据模型和空间分析操作的库，用于处理地理空间数据和进行空间分析。主要用于判断点是否在多边形内部。两者都使用了极角排序的方法来确保多边形的正确性，并在需要时确保多边形的闭合。两个方法都是用来处理多边形和点的关系，但是它们的功能和逻辑略有不同。主要负责创建多边形，而。1.1引入maven。]]></description><category></category></item><item><title><![CDATA[Linux常用命令]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/134619916</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/134619916</guid><author>ggjklncffd</author><pubDate>Sat, 25 Nov 2023 21:11:35 +0800</pubDate><description><![CDATA[ps -ef | grep 进程名。touch 文本文件名称。rm -i 文本文件名称。mkdir 文件夹名称。rm -r 文件夹名称。4.删除文件文本命令。]]></description><category></category></item><item><title><![CDATA[method:com.alibaba.druid.pool.DruidAbstractDataSource.testConnectionInternal问题解决]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/131882291</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/131882291</guid><author>ggjklncffd</author><pubDate>Sun, 23 Jul 2023 18:58:49 +0800</pubDate><description><![CDATA[你可以创建一个后台线程，定期检测连接的有效性，并在连接无效时将其废弃。不管你选择哪种方法，都需要确保在应用程序中实现合适的连接有效性检测，以确保连接池中的连接始终保持可靠和有效。，建议实施其他有效的连接有效性检测方法，例如设置合适的连接超时时间或使用合理的数据库查询来确认连接是否有效。这意味着即使数据库连接已经失效，连接池也不会立即知道，而继续使用失效的连接可能会导致异常或错误的数据库操作。：由于连接池不会自动检测连接的有效性，应用程序可能会在使用已失效连接时遇到数据库异常，例如连接超时或无效查询。]]></description><category></category></item><item><title><![CDATA[使用Nacos将单体服务注册成微服务的步骤以及相关问题解决]]></title><link>https://blog.youkuaiyun.com/ggjklncffd/article/details/131868197</link><guid>https://blog.youkuaiyun.com/ggjklncffd/article/details/131868197</guid><author>ggjklncffd</author><pubDate>Sat, 22 Jul 2023 15:46:27 +0800</pubDate><description><![CDATA[原因是不同的命令空间保存到的数据库是一样的，所以在第一次发布的时候会保存到nacos数据库，如何不改变文件内容，再次点击发布，nacos会检测是否发生改变，如果没有是不会再次发布的。点击最右侧的 + 号进行配置文件的创建，填入Data ID（建议按照一定规则命名Data ID，例如按照应用名称、模块名称、业务名称等维度进行命名）；Group（填入对应的分租名称。3.1.发布之后无法找到数据源，可能是你的配置语法有问题，导致配置没有生效，有效办法将其他的和启动无关的配置删除，保留数据库配置逐一排除。]]></description><category></category></item></channel></rss>