<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nj0128的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nj0128</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nj0128]]></copyright><item><title><![CDATA[从手工上传到服务器端自动发布：Git 子模块、版本化部署与失败回滚实战]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/163312814</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/163312814</guid><author>nj0128</author><pubDate>Wed, 29 Jul 2026 20:45:19 +0800</pubDate><description><![CDATA[本文记录了一次生产发布系统的改造过程，将传统的手工上传部署方式升级为基于Git的自动化版本化部署方案。主要内容包括： 问题分析：原有手工部署流程存在环境不一致、版本追溯困难、回滚复杂等问题 设计方案：建立包含源码(source)、发布版本(releases)和当前版本(current)的三层架构 实施步骤： 生产环境基线审计 创建专用部署和运行账户 配置安全的Git拉取机制 解决Git子模块常见问题 固定构建工具链版本 优化小内存服务器的Swap配置 实现版本目录和软链接切换 迁移后端服务到systemd管]]></description><category></category></item><item><title><![CDATA[从 CoT 到 Agent：一文搞懂 AI 智能体的核心思想]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/161823619</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/161823619</guid><author>nj0128</author><pubDate>Tue, 09 Jun 2026 11:12:14 +0800</pubDate><description><![CDATA[从 CoT 到 Agent：一文搞懂 AI 智能体的核心思想]]></description><category></category></item><item><title><![CDATA[向量数据库核心概念：倒排索引、KNN、ANN、HNSW、PQ]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/161655300</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/161655300</guid><author>nj0128</author><pubDate>Wed, 03 Jun 2026 14:00:44 +0800</pubDate><description><![CDATA[本文总结了向量数据库中的核心概念与技术：倒排索引用于关键词/属性过滤；KNN实现精确但耗时的全量搜索；ANN通过近似算法（如HNSW图结构）以精度换速度；PQ通过向量量化大幅压缩存储和计算成本。这些技术常被组合使用（如HNSW+PQ），典型流程包括：用户查询→Embedding→倒排过滤→ANN搜索→结果返回。整体上，现代向量数据库通过分层技术栈平衡精度、速度与资源消耗，其中HNSW和PQ分别解决搜索效率和存储瓶颈问题。]]></description><category></category></item><item><title><![CDATA[Linux 根分区占满排查与 SSH 暴力破解日志清理记录]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/161092251</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/161092251</guid><author>nj0128</author><pubDate>Fri, 15 May 2026 00:03:14 +0800</pubDate><description><![CDATA[本文记录了Linux服务器根分区占满问题的排查与清理过程。通过df -H发现根分区100%占满后，使用du命令逐层分析发现主要占用来自/home/ruoyi/upload目录（52G图片文件）和/var/log日志目录（14G）。进一步检查发现/var/log/btmp（4.2G）和/var/log/secure（3.7G）文件异常增大，原因是服务器遭受SSH暴力破解攻击，产生了大量失败登录记录。通过truncate命令清理日志文件、使用journalctl控制日志大小后，成功释放了磁盘空间。文章提供了完整]]></description><category></category></item><item><title><![CDATA[Spring 循环依赖详解：三级缓存、早期引用、AOP 代理与懒加载]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/160819050</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/160819050</guid><author>nj0128</author><pubDate>Wed, 06 May 2026 11:27:48 +0800</pubDate><description><![CDATA[Spring循环依赖核心机制总结 Spring通过三级缓存（成品Bean、早期引用、ObjectFactory）解决单例属性注入的循环依赖问题。核心原理是： 实例化Bean后提前暴露原始对象引用（半成品）存入三级缓存 属性注入时若发现循环依赖，通过ObjectFactory获取早期引用 AOP代理对象由AnnotationAwareAspectJAutoProxyCreator在早期引用阶段生成 特殊场景限制： 构造器注入无法解决（必须先完成构造） prototype作用域Bean无法解决（不缓存） @La]]></description><category></category></item><item><title><![CDATA[MySQL 中如何看 EXPLAIN 性能分析？一篇讲透执行计划的实战指南]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/159835130</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/159835130</guid><author>nj0128</author><pubDate>Sat, 04 Apr 2026 22:23:26 +0800</pubDate><description><![CDATA[MySQL性能优化利器EXPLAIN实战指南 摘要：EXPLAIN是MySQL性能分析的核心工具，可查看SQL执行计划。文章系统讲解如何正确解读EXPLAIN结果，包括三种常用写法：普通EXPLAIN(预估计划)、EXPLAIN ANALYZE(实际执行)和EXPLAIN FORMAT=JSON(结构化信息)。重点解析关键字段：type(访问方式)、key(实际使用索引)、rows(预估扫描行数)和Extra(额外信息)。特别指出type字段从ALL(全表扫描)到const(最优)的性能差异，以及Using]]></description><category></category></item><item><title><![CDATA[Windows 安装 Claude Code 完整教程（含常见报错排查）]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/158961061</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/158961061</guid><author>nj0128</author><pubDate>Thu, 12 Mar 2026 09:39:05 +0800</pubDate><description><![CDATA[本文详细介绍了Windows系统安装Claude Code的完整流程和常见问题解决方案。推荐使用WinGet安装方式，需提前安装Git for Windows。安装后通过claude --version和claude doctor验证，并注意在正确终端环境执行命令。文章特别针对两种常见报错（CMD执行PowerShell命令报错和返回HTML页面错误）提供了解决方案，建议网络受限用户优先选择WinGet安装。最后提供了可直接复用的四步安装流程，强调WinGet安装的稳定性和便捷性。]]></description><category></category></item><item><title><![CDATA[Redis 分布式全局唯一 ID 生成方案：时间戳 + Redis 自增]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/158810077</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/158810077</guid><author>nj0128</author><pubDate>Sun, 08 Mar 2026 18:43:00 +0800</pubDate><description><![CDATA[Redis 分布式全局唯一 ID 生成方案结合时间戳和 Redis 自增特性，提供了一种简单高效的分布式 ID 生成方式。该方案通过时间戳保证趋势递增，利用 Redis 原子自增操作确保分布式环境下的唯一性，最终通过位运算拼接成 long 型 ID。相比数据库自增和 UUID，这种方案具有更好的扩展性、索引性能和可读性，尤其适合订单、支付流水等高并发业务场景。虽然依赖 Redis，但实现简单直观，能有效满足分布式系统的 ID 生成需求。]]></description><category></category></item><item><title><![CDATA[查询网络所在地区]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/158779991</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/158779991</guid><author>nj0128</author><pubDate>Sat, 07 Mar 2026 23:44:36 +0800</pubDate><description><![CDATA[通过访问 https://whois.pconline.com.cn/ipJson.jsp 可查询当前设备的网络所在地区，该接口会返回包含IP地址、地理位置等信息的JSON数据。适用于快速获取用户网络区域信息。]]></description><category></category></item><item><title><![CDATA[使用 Apache POI 3.15 优化 Excel 导入：大文件清洗瘦身、合并单元格保留与兼容性踩坑（含示例代码）]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/157724964</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/157724964</guid><author>nj0128</author><pubDate>Wed, 04 Feb 2026 10:10:06 +0800</pubDate><description><![CDATA[本文介绍了使用 Apache POI 3.15 优化 Excel 导入的解决方案，主要解决大文件解析慢、内存溢出等问题。关键点包括：1) 避免使用getBytes()方法，改用文件落盘方式；2) 控制并发解析数量；3) 通过重建工作簿实现文件瘦身，丢弃无用内容；4) 优先使用OPCPackage.open(File)提高兼容性。文章提供了完整的Controller调用示例和Excel清洗工具类实现，适用于Spring Boot环境下的Excel导入场景，可有效提升处理性能并降低内存风险。]]></description><category></category></item><item><title><![CDATA[地图定位与距离查询的技术实现与选型：从原理到工程实践]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/157360383</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/157360383</guid><author>nj0128</author><pubDate>Sun, 25 Jan 2026 15:42:14 +0800</pubDate><description><![CDATA[摘要： 地图定位与距离查询的技术实现需解决位置表达、距离计算、范围筛选和性能优化四个核心问题。主流方案包括：1）全量扫描（简单但低效）；2）MySQL空间索引（功能强但性能中等）；3）GeoHash降维（工程主流，分内存方案如Redis GEO和搜索引擎如Elasticsearch）。选型需权衡性能、并发、复杂度与成本，通常采用分层组合策略。理解底层原理才能做出合理的技术决策，实现高效且可扩展的LBS服务。]]></description><category></category></item><item><title><![CDATA[从 `.java` 到程序真正跑起来：编译、类加载、JIT 与面试高频点（附流程图）]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/156828901</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/156828901</guid><author>nj0128</author><pubDate>Sun, 11 Jan 2026 14:48:11 +0800</pubDate><description><![CDATA[Java程序从源码到运行的核心流程分为编译期和运行期两大阶段。编译期通过javac将.java文件转换为.class字节码，包括词法分析、语法分析、语义分析等步骤。运行期由java命令启动JVM，通过类加载器(ClassLoader)加载主类，经历加载、链接(验证、准备、解析)和初始化(执行static赋值和代码块)三个阶段后调用main方法。字节码执行采用解释器+JIT的混合模式，热点代码会被编译为本地机器码以提高性能。类加载遵循双亲委派机制确保安全性，运行时内存分为堆、栈、元空间等区域，各司其职。整个流]]></description><category></category></item><item><title><![CDATA[JVM GC 从结构到原理到优化：一篇文章搞懂事件类型、收集器、参数、日志与实战调优]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/156802645</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/156802645</guid><author>nj0128</author><pubDate>Sat, 10 Jan 2026 17:09:42 +0800</pubDate><description><![CDATA[本文系统梳理了JVM GC的核心知识体系，从堆结构、对象流转到GC事件类型与收集器对比，最后给出调优策略。主要内容包括：1）建立对象生命周期、GC事件与收集器的三层心智模型；2）详解堆结构分代设计及对象分配机制；3）分析Young/Old/Mixed/Full GC的触发条件与影响；4）对比主流收集器特性与适用场景；5）提供关键JVM参数与调优思路。文章强调实战视角，帮助开发者建立可落地的GC优化框架，有效诊断和解决线上GC问题。]]></description><category></category></item><item><title><![CDATA[nvm-windows 使用指南（2025 全面版）]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/154648447</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/154648447</guid><author>nj0128</author><pubDate>Mon, 10 Nov 2025 14:23:15 +0800</pubDate><description><![CDATA[是专为 Windows 系统设计的 Node.js 版本管理工具。它允许你在同一台电脑上安装、管理和切换多个 Node.js 版本，而无需卸载重装。]]></description><category></category></item><item><title><![CDATA[解决 Git 在 Windows 上拉取与提交缓慢的问题：罪魁祸首竟是 MSPCManagerService.exe]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/150277780</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/150277780</guid><author>nj0128</author><pubDate>Tue, 12 Aug 2025 17:26:53 +0800</pubDate><description><![CDATA[解决 Git 在 Windows 上拉取与提交缓慢的问题：罪魁祸首竟是 MSPCManagerService.exe]]></description><category></category></item><item><title><![CDATA[Linux 磁盘空间查看命令大全（实用工具详解）]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/149744342</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/149744342</guid><author>nj0128</author><pubDate>Tue, 29 Jul 2025 12:13:37 +0800</pubDate><description><![CDATA[摘要：本文汇总了Linux系统中查看磁盘空间的实用命令，包括df查看整体使用情况、du检查目录文件大小、mount/findmnt查看挂载信息等。重点介绍了df -h、du -sh等常用命令参数，以及ncdu图形化工具和排序查找大文件的技巧。文章提供了命令速查表，涵盖磁盘使用率、inode状态、文件大小排序等常见运维需求，适合从入门到进阶的Linux用户参考使用。（148字）]]></description><category></category></item><item><title><![CDATA[MySQL 中如何求平均值（AVG 函数详解）]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/149631451</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/149631451</guid><author>nj0128</author><pubDate>Fri, 25 Jul 2025 10:12:19 +0800</pubDate><description><![CDATA[在使用 MySQL 进行数据分析时，计算平均值是最常见的需求之一。MySQL 提供了内置的聚合函数AVG()来帮助我们轻松完成这一任务。本文将详细介绍AVG()函数的使用方法及常见示例。]]></description><category></category></item><item><title><![CDATA[谷歌浏览器网页截图下载插件工具]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/149630751</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/149630751</guid><author>nj0128</author><pubDate>Fri, 25 Jul 2025 09:57:36 +0800</pubDate><description><![CDATA[这是一款便捷的Chrome浏览器插件&quot;元素截图下载器&quot;，能够一键截图网页中的任意元素并自动下载。插件通过右键菜单触发，自动高亮显示目标区域，采用dom-to-image库生成图片，并保持与原网页一致的背景色。核心功能包括：精准元素选择、所见即所得的高亮预览、自动背景适配和即时下载。适用于开发调试、内容采集等场景，解决了传统截图工具无法精准选取DOM元素的问题。插件配置简单，只需加载解压即可使用，未来还可扩展批量截图等高级功能。]]></description><category></category></item><item><title><![CDATA[Spring Boot 跨域（CORS）问题全流程解决方案]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/149602407</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/149602407</guid><author>nj0128</author><pubDate>Thu, 24 Jul 2025 13:48:20 +0800</pubDate><description><![CDATA[本文详细介绍了Spring Boot解决CORS跨域问题的完整方案。关键步骤包括：1）配置CorsFilter Bean，设置允许的域名、请求方法和头信息；2）在Spring Security中启用cors()支持；3）提供本地测试方法和常见问题解答。特别强调禁止在生产环境使用&quot;*&quot;通配符，必须明确指定允许域名。该方案适用于Spring Boot 2.1+版本，能有效解决前后端分离开发中的跨域访问问题，确保接口安全调用。]]></description><category></category></item><item><title><![CDATA[windows环境静默后台启动jar包程序脚本]]></title><link>https://blog.youkuaiyun.com/nj0128/article/details/144000661</link><guid>https://blog.youkuaiyun.com/nj0128/article/details/144000661</guid><author>nj0128</author><pubDate>Sat, 23 Nov 2024 23:00:52 +0800</pubDate><description><![CDATA[【脚本】windows环境静默后台启动jar包脚本。]]></description><category></category></item></channel></rss>