自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 Hot 100 --- 回文链表

本文以LeetCode经典题目"回文链表"为例,从暴力解法入手,先讲解反转链表的核心原理,再引出快慢指针找中点+反转后半段的 O(1) 空间解法

2026-06-22 02:14:24 582

原创 Hot 100 --- 搜索二维矩阵 II

本文以LeetCode经典题目"搜索二维矩阵 II"为例,从一个看似合理却存在漏洞的初始方案入手,逐步引出将矩阵视作二叉搜索树的巧妙解法,从右上角开始查找,将时间复杂度优化到 O(m+n)

2026-06-19 18:19:07 522

原创 Hot 100 --- 旋转图像

本文以LeetCode经典题目"旋转图像"为例,讲解两种解法:逐层四元素交换法和转置+翻转法,重点讲解逐层旋转时如何找到层数、每层元素个数以及索引的书写规律

2026-06-19 12:30:00 447

原创 权限控制模型全解析:从 ACL 到 PBAC,如何选择合适的权限方案?

本文系统梳理了六种主流权限控制模型(ACL、RBAC、ABAC、PBAC、DAC、MAC),从核心思路、优缺点到适用场景逐一剖析,并给出实际项目中的选型建议和混合模型实践。

2026-06-18 16:59:27 681

原创 一行代码登录,微秒级鉴权:Sa-Token + Redis Session 实践

本文从我本人参与的一个 ERP 项目的认证模块出发,由浅入深地讲解 Sa-Token 如何实现登录校验、权限鉴权、Session 管理,以及如何用 Redis 做 Session 共享来优化鉴权性能。读完本文,你将理解 Sa-Token 的完整流转过程,而不仅仅是"怎么用"。

2026-06-18 12:00:00 592

原创 Hot 100 --- 螺旋矩阵

本文以LeetCode经典题目"螺旋矩阵"为例,重点讲解如何将螺旋遍历过程拆解为四条边的循环收缩,通过边界变量动态控制遍历范围和退出条件

2026-06-17 16:21:42 530

原创 Hot 100 --- 矩阵置零

本文以LeetCode经典题目"矩阵置零"为例,从最容易踩的坑入手,逐步优化空间复杂度,从 O(mn) 到 O(m+n) 再到 O(1) 原地变换,系统讲解如何用第一行和第一列作为标记数组实现原地置零

2026-06-16 19:34:27 612

原创 Hot 100 --- 缺失的第一个正数

本文以LeetCode经典题目"缺失的第一个正数"为例,从暴力解法入手,逐一分析哈希表和排序两种常见优化思路为何不满足 O(n) 时间 + O(1) 空间的要求,再引出原地哈希解法,系统讲解如何利用数组本身作为哈希表,将元素放到正确的位置上

2026-06-15 22:53:48 532

原创 Hot 100 --- 除自身以外数组的乘积

本文以LeetCode经典题目"除自身以外数组的乘积"为例,从暴力解法入手,分析不能使用除法导致的重复计算问题,再通过空间换时间的方式用右累计乘积数组优化,将时间复杂度从 O(n²) 优化到 O(n)

2026-06-14 17:18:03 703

原创 Hot 100 --- 轮转数组

本文以LeetCode经典题目"轮转数组"为例,从暴力解法入手,逐步优化到 O(n) 额外空间的解法,再通过三次翻转法实现 O(1) 空间复杂度的原地修改,系统讲解如何用红黑笔的比喻理解三次翻转的巧妙之处

2026-06-13 16:33:49 503

原创 Hot 100 --- 合并区间

本文以LeetCode经典题目"合并区间"为例,从暴力解法入手,分析其必须遍历全部剩余数组的原因,再通过排序将"未知"变为"已知",系统讲解如何利用排序后天然满足的重叠判断条件,将时间复杂度从 O(n²) 优化到 O(n log n)

2026-06-13 12:00:00 395

原创 一文吃透 Spring AI Alibaba RAG:三种架构模式 + 全流程优化详解

系统讲解 RAG 核心原理与替代方案(Skill、MCP、Wiki)的取舍,详细拆解 Spring AI Alibaba 三种 RAG 架构模式(两步 RAG、Agentic RAG、混合 RAG)与四阶段全链路优化(Pre-Retrieval 查询压缩与扩展、Retrieval 向量检索、Post-Retrieval 重排序与压缩、Generation 上下文增强),并提供 ReactAgent 钩子、FunctionToolCallback 多工具调用等完整可运行代码示例。

2026-06-12 12:00:00 967

原创 Hot 100 --- 最大子数组和

本文以LeetCode经典题目"最大子数组和"为例,从暴力解法入手,利用前缀和优化到维护最小前缀和的O(n)解法,再从动态规划角度重新理解,系统讲解如何利用"前数组和是否对当前元素有贡献"这一关键判断,将时间复杂度从O(n²)优化到O(n)

2026-06-11 23:34:23 563

原创 Hot 100 --- 最小覆盖子串

本文以LeetCode经典题目"最小覆盖子串"为例,从暴力解法入手,逐步优化到双指针滑动窗口解法,重点讲解如何通过 match 变量动态维护哈希表的匹配状态,避免每次遍历比较,将时间复杂度从 O(n²×m) 优化到 O(n)

2026-06-10 18:48:16 396

原创 Hot 100 --- 滑动窗口最大值

本文以LeetCode经典题目"滑动窗口最大值"为例,从暴力优化解法入手,分析其在递减数组下的最坏情况,再逐步优化到双端单调递减队列解法,系统讲解如何动态维护一个只保留可能成为最大值的候选队列,将时间复杂度从O(nk)优化到O(n)

2026-06-09 19:39:29 504

原创 Hot 100 --- 和为K的子数组

本文以LeetCode经典题目"和为K的子数组"为例,从暴力解法入手,逐步优化到前缀和+哈希表解法,系统讲解如何利用前缀和将子数组和转化为两个前缀和之差,再通过哈希表将时间复杂度从 O(n²) 优化到 O(n)

2026-06-06 12:00:00 525

原创 【 万字精讲】MCP到底是什么?---从协议本身到Spring AI Alibaba实战

本文系统介绍了模型上下文协议(MCP)的设计背景、架构与应用。首先指出大模型时代Function Calling存在的格式不统一、适配成本高等痛点,MCP通过标准化协议解决N×M集成问题。官方定义MCP为AI应用连接外部系统的"USB-C接口",支持数据源、工具和工作流接入。其架构包含Host、Client、Server三层,支持多客户端并行连接本地或远程服务。文章以百度地图MCP为例,解释本地代理服务器的必要性,并演示Spring AI Alibaba同时接入本地stdio和远程SSE两种方式。

2026-06-04 17:17:43 1154

原创 Hot 100 --- 找到字符串中所有字母异位词

本文以LeetCode经典题目"找到字符串中所有字母异位词"为例,从暴力解法入手,逐步优化到滑动窗口+差异计数解法,系统讲解如何通过只关注窗口进出字符对差异的影响,将时间复杂度从 O(nm) 优化到 O(n)

2026-06-04 11:30:00 654

原创 从LLM到Agent:Prompt·RAG·ToolCalling·MCP如何把函数变成智能体

大模型本质上只是一个预测下一个 Token 的函数,它天生有四个缺陷:无状态、知识冻结、与世隔绝、输出不可控。智能体的出现,就是为了从外部弥补这些缺陷。本文从大模型的本质出发,逐个拆解每个缺陷及对应的解决方案——上下文记忆、RAG、Tool Calling、MCP、提示词工程与结构化输出,重点讲"为什么需要"和"解决思路",帮助读者理解什么是智能体以及它的构建思路。Spring AI Alibaba 的实现作为附带展示,最后将所有模块拼装成一个完整的简单智能体,并附上核心类速查表。

2026-06-03 01:30:09 695

原创 Hot 100 --- 无重复字符的最长子串

本文以LeetCode经典题目"无重复字符的最长子串"为例,从暴力解法入手,逐步优化到滑动窗口解法,系统讲解如何利用窗口滑动和哈希表快速跳过重复字符,将时间复杂度从 O(n²) 优化到 O(n)

2026-06-02 15:05:31 548

原创 Hot 100 --- 接雨水

本文以LeetCode经典题目"接雨水"为例,从暴力解法入手,逐步优化到动态规划(左右数组)解法,再进一步优化空间复杂度到 O(1) 的双指针解法,系统讲解如何利用"木桶效应"计算每个位置的接水量

2026-06-02 12:30:00 471

原创 Hot 100 --- 三数之和

本文以LeetCode经典题目"三数之和"为例,系统讲解排序+双指针的解题思路,深入剖析三重去重机制和剪枝优化的实现细节,并详细解释为何固定最小元素是最优策略

2026-06-01 12:38:46 511

原创 Hot 100 --- 盛最多水的容器

本文详细讲解LeetCode Hot 100经典题目"盛最多水的容器",从暴力解法入手逐步优化至时间复杂度O(n)的双指针解法。文章将深入剖析暴力解法的局限性、双指针贪心策略的核心思想与正确性证明、搜索空间缩减的直观过程,揭示从容器的短板特性出发、通过移动较短指针实现最优解的算法设计思路

2026-06-01 00:48:14 357

原创 AI Agent发展趋势深度解析:从代码助手到系统级智能体的演进

本文系统梳理当前主流产品级AI Agent的发展方向,重点分析四大代表性产品——Cursor(IDE专业编程)、Claude Code(终端深度执行)、Codex(全能桌面智能体)、腾讯Marvis(操作系统级AI助手)。文章将深入剖析各产品的核心架构机制、功能实现原理、当前局限性及未来演进方向,揭示AI Agent正从"代码生成工具"向"系统级智能体"发展的核心趋势

2026-05-26 23:05:04 783

原创 Redis核心实战:从缓存设计到分布式锁的深度解析

本文系统讲解了 Redis 在高并发场景下的核心应用,涵盖缓存设计原则、典型问题(如数据不一致、击穿、穿透、雪崩)的成因与解决方案,并通过“一人一单”等实战案例深入剖析分布式锁的优化演进,最终提供了一套完整的 Redis 使用最佳实践与选型指南

2026-04-26 20:05:13 573

原创 Maven多模块项目管理:基于SpringBoot单体项目的继承与聚合实战指南

本文系统讲解了Maven在SpringBoot单体项目中的多模块管理,主要内容包括: Maven继承与聚合机制:详解父POM配置、继承关系及packaging必须设为pom的原因; SpringBoot依赖管理:对比Parent与BOM方式的版本控制策略,解析核心starter的功能; 实战项目构建:演示典型的多模块项目结构设计,包含公共模块、数据层、业务层和Web层的完整配置方案。 通过合理的模块划分和依赖管理,可实现代码复用、统一版本控制和便捷的项目维护。文章提供了完整的POM配置示例,帮助开发者快速搭

2026-04-10 23:53:04 919

原创 MyBatis整合Spring全流程解析

本文系统阐述了 MyBatis 从原生使用到 Spring 整合的完整演进过程:在原生 MyBatis 中,开发者需手动创建 SqlSessionFactory 单例、每次操作都通过 openSession() 获取非线程安全的 SqlSession、调用 getMapper() 获得动态代理对象执行 SQL,最后手动提交事务并关闭资源,整个流程繁琐且易出错;而 Spring 整合 MyBatis 后,通过 mybatis-spring 模块实现了全自动化的资源管理——应用启动时 Spring 自动配置

2026-04-04 15:26:17 541

原创 从零部署苍穹外卖:Docker Compose前后端完整指南(含Dockerfile详解)

本文详细介绍了云服务器部署项目的完整流程。主要内容包括:1)云服务器选购配置(推荐阿里云/腾讯云,建议选择按量计费);2)Docker环境搭建(Ubuntu系统安装步骤);3)项目部署准备工作(前后端项目打包、数据库导出);4)Dockerfile和docker-compose编写指南(包含Redis、MySQL、Nginx等服务配置模板)。文章提供了完整的命令和配置文件示例,重点说明了容器网络配置、数据持久化、服务依赖关系等关键配置项,适合需要将SpringBoot+Vue项目容器化部署的开发者参考。

2026-04-02 00:16:49 592

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除