自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Agent】CLAUDE.md —— Agent 记忆落地终极方案

本文是Agent技术博客系列的第三篇,重点探讨了CLAUDE.md作为Agent记忆落地的终极方案。文章颠覆了将CLAUDE.md视为README的认知误区,强调其本质是行为契约,通过硬性约束和可执行指令来严格规范Agent行为。深入剖析了大厂Agent记忆系统的四层架构:静态显式记忆(CLAUDE.md)、动态自发记忆(Auto-Memory)、记忆清理(Auto-Dream)和环境感知。

2026-06-08 16:52:21 322

原创 【Agent】深入 Agent 的「记忆」底层:从状态机、向量检索到长期记忆的工程实现

本文深入探讨了Agent系统中记忆机制的工程实现,从问题分析到解决方案层层递进。文章首先指出LLM本质无状态的特性导致Agent容易出现"断章取义"问题,批判了全量历史记录和向量检索两种常见方案的局限性。随后提出了分层的"记忆金字塔"架构:短期记忆管理任务轨迹(采用滑动窗口或动态总结策略),长期记忆处理用户画像(从键值存储演进到实体关系图谱)。文中重点分析了高级记忆架构的设计思路,包括实体关系提取、时间衰减因子和冲突解决机制,并指出纯向量检索无法替代结构化知识图谱。

2026-06-08 15:37:42 502

原创 【Agent】不是“会调 API 的 Chatbot“——重新理解 AI Agent 的本质

本文探讨了AI Agent的本质及其与Chatbot和RAG的区别。文章通过机票退改签案例对比了三种形态:Chatbot仅提供信息但无执行能力;RAG提供精准数据但需用户操作;而Agent能自主规划、决策并闭环完成任务。Agent的核心组件包括LLM(推理)、规划能力、工具(执行)和记忆(上下文),通过ReAct动态循环(推理→执行→观察→反思)实现目标。

2026-06-07 20:18:44 319

原创 【RabbitMQ】面试系列 · 第四期:性能调优与插件生态

文章摘要(149字): 本文以CloudMart虚拟电商平台的双十一性能问题为引,深度剖析RabbitMQ性能调优全链路。通过200ms到8ms的优化案例,系统性地拆解Erlang VM调度器配置、TCP网络参数调优、磁盘IO优化等核心瓶颈。详细对比Federation与Shovel插件的跨数据中心方案,解析MQTT/STOMP多协议支持,并给出K8s生产部署最佳实践。

2026-06-07 17:34:19 489

原创 【RabbitMQ】面试系列 · 第三期:从线上故障到架构选型

本文以虚拟的CloudMart电商平台为案例,深入分析了RabbitMQ在实际应用中遇到的典型问题。主要内容包括: 消息堆积诊断与处理:通过双十一订单队列堆积故障,介绍了堆积根因分析框架和诊断三步法,重点讲解了Lazy Queue原理和实战解决方案。 集群与高可用架构:针对单节点宕机导致全站瘫痪的事故,详细解析了RabbitMQ集群拓扑、镜像队列、网络分区处理策略以及Quorum Queue实现原理。 监控与运维体系:强调监控的重要性,提供了关键监控指标、Prometheus+Grafana监控方案设计以及

2026-06-07 01:27:10 677

原创 【RabbitMQ】面试系列 · 第二期:高级特性与可靠性保障

本文摘要: RabbitMQ消息可靠性保障全链路拆解,以虚构电商系统CloudMart为例,详细分析消息丢失的三大关键环节及解决方案: 发送端防护:通过Publisher Confirm机制(异步回调)和Return回调实现消息投递确认,确保消息到达Broker; Broker防护:必须配置三层持久化(Exchange、Queue、Message),防止重启导致的元数据和消息丢失; 消费端防护:采用手动ACK机制配合重试策略,确保消息正确处理,并通过死信队列处理异常消息。 文章包含实战案例、源码解析(Spr

2026-06-06 21:13:27 505

原创 【RabbitMQ】面试系列 · 第一期:基础认知与选型实战

本文以虚构电商平台 CloudMart 为例,深入讲解 RabbitMQ 的核心价值和应用场景。文章首先分析了 CloudMart 面临的同步调用导致的性能瓶颈和系统耦合问题,进而阐述了消息队列的四大核心作用:异步解耦、流量削峰、消息分发和延迟通知。通过具体代码示例展示了如何将同步调用改造为异步消息传递,实现系统解耦和性能优化。文章还对比了主流消息中间件的特性差异,详细解析了 RabbitMQ 的核心架构模型和工作模式,并提供了 Spring Boot 集成 RabbitMQ 的实践指南。最后总结了面试常见

2026-06-06 01:14:20 700

原创 【Redis】Redis 面试深度系列

Redis持久化与高可用实战指南 本文通过VibeLoop平台案例,系统讲解Redis从单机到集群的完整解决方案: 核心内容: 持久化机制:对比RDB定时快照与AOF命令日志的优缺点,分析混合持久化方案 高可用架构:详解主从复制、哨兵集群、Cluster分片四层金字塔方案 实战部署:提供生产环境配置建议与性能优化策略 面试宝典:包含8道高频面试题解析和速查表 关键结论: 生产环境推荐RDB+AOF混合持久化(Redis 4.0+) 大内存实例需关注fork阻塞和COW内存开销 读流量分流用主从复制,自动故障

2026-06-05 22:30:09 678

原创 【Redis】分布式锁完整演进

本文摘要: 从分布式锁的核心三要素(互斥性、防死锁、解铃还须系铃人)出发,通过VibeLoop平台的热门帖子并发编辑案例,完整演示分布式锁的6个演进版本:从基础的setnx实现到最终Redlock多节点方案。每个版本都剖析其潜在漏洞,并通过并发场景推演验证问题。关键演进包括:原子化加锁(SET EX NX)、UUID防误删、Lua脚本保证原子释放、WatchDog自动续期机制,最终通过Redisson实现生产级解决方案。文章包含Redisson四件套实战、3个业务场景、8道面试题解析及速查表,深入源码层揭示

2026-06-05 20:27:56 582 3

原创 【Redis】缓存策略与三大经典问题

本文以虚拟互动平台VibeLoop为例,探讨Redis缓存策略与三大经典问题。主要内容包括: 缓存更新策略:对比Cache Aside、Read/Write Through、Write Behind四种模式的特点与应用场景,重点分析旁路缓存模式的实现逻辑与并发控制。 三大经典问题解决方案: 缓存穿透:通过布隆过滤器+空值缓存组合拳防御恶意查询 缓存击穿:采用互斥锁重建机制应对热点key突然失效 缓存雪崩:通过阶梯式过期时间避免缓存集体失效 实战技巧: 淘汰策略选型矩阵(8种策略对比) 双写一致性难题的解法(

2026-06-04 14:08:17 642 1

原创 【Redis】Redis 数据结构与 Spring Boot 集成

本文以虚构的轻量级内容互动平台 VibeLoop 为例,详细介绍了 Redis 五种核心数据结构(String、Hash、List、Set、ZSet)的底层机制及其在 Spring Boot 中的实战应用。文章首先通过业务场景说明 Redis 如何将响应时间从 200ms 优化到 1ms 以内,随后逐一解析各数据结构的特点、适用场景及内部编码机制(如 String 的 44 字节临界点、Hash 的 ziplist 转换条件等),并结合代码示例演示了 Session 共享、接口限流、用户资料存储等典型应用。

2026-06-04 11:09:47 917 2

原创 【Spring】面试突击系列(六):Spring 工程实践与面试综合

前面 5 期,我们从 IoC 容器一路写到事务源码,用 EduLearn 在线教育平台串联了所有技术点。但写完代码只是起点——上线后才是真正的考验。凌晨 3 点,CPU 突然飙到 100%;用户投诉下单后迟迟没反应;运维说内存一周涨了 2G……这些不是面试题,是真实的生产事故。本期作为收官之作,不谈单个技术原理,而是把 5 期知识串成一个可落地的工程体系:分层架构怎么搭、异常怎么统一处理、问题怎么排查、面试怎么回答。铁律:上层依赖下层,下层绝不反向依赖上层。Service 不能引入 Controller

2026-06-03 16:45:34 488 1

原创 【Spring】面试突击系列(五):Spring 事务深度解析

本文深入解析Spring事务管理的核心机制,以在线教育平台EduLearn为案例贯穿全文。从凌晨2点的"订单状态异常"生产问题切入,系统讲解@Transactional注解的使用场景和典型陷阱。内容包括: 事务基础:ACID特性与PlatformTransactionManager抽象 声明式事务实现原理:基于AOP的动态代理机制 7种传播行为详解(重点分析REQUIRED和REQUIRES_NEW) 5大事务失效场景及源码级分析 完整事务拦截器执行链路解析 特别针对常见的try-catch吞异常、方法调用

2026-06-03 08:39:33 584

原创 【Spring】面试突击系列(四):Spring AOP 深度解析

Spring AOP 核心解析与动态代理实现 摘要:本文深入解析Spring AOP的核心概念与实现原理。AOP通过切面(Aspect)将横切关注点(如日志、权限)与业务逻辑分离,包含5个关键概念:连接点(JoinPoint)、切点(Pointcut)、通知(Advice)、切面和织入(Weaving)。Spring AOP底层采用动态代理实现,提供JDK动态代理(基于接口)和CGLIB代理(基于子类继承)两种方式。JDK代理要求目标类实现接口,通过反射调用方法;CGLIB则通过字节码技术生成子类代理,使用

2026-06-02 23:27:33 347

原创 【Spring】面试突击系列(三):Spring Web MVC 深度解析

Spring Web MVC 深度解析 - 摘要 本文深入剖析了 Spring Web MVC 的核心架构与请求处理流程,主要内容包括: 核心架构:Spring MVC 采用前端控制器模式,DispatcherServlet 作为统一入口,内部维护 HandlerMapping、HandlerAdapter 等九大核心组件。 请求处理流程:详细解析了 DispatcherServlet 处理 HTTP 请求的 12 步完整链路,从请求到达、处理器匹配、拦截器执行,到参数解析、方法调用、返回值处理和响应返回。

2026-06-02 21:54:30 431 1

原创 【Spring】面试突击系列(二):SpringBoot 入门与自动配置原理

本文深入解析了SpringBoot的核心原理与自动配置机制。主要内容包括: SpringBoot三大核心设计:约定优于配置(解决配置地狱)、起步依赖(解决依赖地狱)、自动配置(简化Bean注册) @SpringBootApplication注解的拆解:包含@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan三层结构 自动配置原理深度分析:通过spring.factories文件加载配置类,结合条件注解实现智能装配 实战演示如何自定义

2026-06-01 20:25:06 450

原创 【Spring】面试突击系列(一):IoC 与 DI 深度解析

Spring IoC与DI核心概念解析 摘要 本文深入解析Spring框架中IoC(控制反转)和DI(依赖注入)的核心概念。IoC是一种设计思想,将对象创建和依赖管理从代码转移到容器,实现解耦。DI有三种主要注入方式:构造器注入(Spring推荐)、Setter注入和字段注入(不推荐),各有优缺点。文章对比了@Autowired和@Resource注解的差异,前者是Spring原生按类型注入,后者是Java标准按名称注入。此外还介绍了Bean的6种作用域(singleton/prototype等)和生命周期

2026-06-01 19:32:35 514

原创 【MyBatis】进阶篇:动态 SQL + 关联映射 + 插件原理全通关

customer(客户表) ──1:N──> order_info(订单表)──N:1──> product(商品表)-- 供应商表(与 product 一对多)supplier_name VARCHAR(100) NOT NULL COMMENT '供应商名称',contact_phone VARCHAR(20) COMMENT '联系电话',address VARCHAR(200) COMMENT '地址',status TINYINT DEFAULT 1 COMMENT '0禁用/1启用',

2026-05-31 15:28:39 478

原创 【MyBatis】入门篇:一个订单系统吃透持久层框架

MyBatis 从入门到面试:订单系统实战与核心机制解析 摘要 本文以电商订单系统为案例,系统讲解 MyBatis 持久层框架的核心技术与面试要点。文章从 JDBC 的痛点出发,对比 MyBatis 的半自动 ORM 优势,详细演示了环境搭建、注解式 CRUD、XML 映射等基础用法。重点剖析了 MyBatis 的底层机制,包括动态代理实现、SQL 注入防御、连接池选型和缓存策略等面试高频考点。通过订单系统的完整示例,读者可以快速掌握 MyBatis 从基础使用到高级特性的全套知识体系,特别适合准备 Jav

2026-05-31 00:28:39 930 3

原创 TCP 三次握手与四次挥手

本文深入解析了TCP协议中的三次握手与四次挥手机制,从报文结构、状态机转换到实战抓包分析。三次握手通过SYN、SYN-ACK、ACK报文建立双向连接,确保双方收发能力正常;四次挥手通过FIN、ACK报文独立关闭双向通道。文章还探讨了关键问题:为什么需要三次握手而非两次/四次、随机初始序列号的作用、SYN Flood攻击与防御、CLOSE_WAIT泄漏以及TIME_WAIT状态持续2MSL的原因。通过Wireshark抓包示例和状态机图示,帮助读者从理论到实践全面理解TCP连接的建立与释放过程。

2026-05-30 00:10:49 703 1

原创 计算机图形学 | 区域填充

区域内所有像素颜色相同,区域外像素是另一种颜色。这种填充称为泛填充,如图1所示。区域边界像素是特定颜色,区域内像素不取这个特定颜色。这种填充称为边界填充,如图2所示。算法类型优点缺点适用场景简单种子填充实现简单,可处理带孔区域重复入栈,效率低小区域交互填充改进种子填充无重复入栈,效率较高仍需栈结构,存储需求大中等区域填充扫描线种子填充效率高,减少递归深度实现复杂大面积区域填充多边形扫描线填充适合自动填充,效率高需要预处理边表多边形自动填充。

2026-05-29 20:01:59 506

原创 计算机图形学 | 基本图形生成算法

本文介绍了计算机图形学中基本图形生成算法,主要包括直线和圆弧的生成方法: 一、直线生成算法 DDA算法:通过微分方程逐点计算,根据斜率选择步进方向(x或y轴),避免断点。 中点画线法:改进DDA的浮点运算,使用整数递推判断中点位置选择像素点,更高效。 二、圆弧生成算法 参数方程法:通过圆的参数方程离散化生成,步长根据半径动态调整以保证连续。 三、线宽处理 介绍了线刷子、方刷子和多线段平行法等线宽实现技术。 这些算法构成了计算机图形学的基础,通过离散化数学方程实现连续图形的光栅化显示。

2026-05-29 00:18:19 521

原创 编译原理 | 基于属性文法、翻译模式的语义计算

本文介绍了两种语义计算方法:基于属性文法和基于翻译模式。属性文法通过为文法符号关联属性(综合属性和继承属性)并定义语义规则来实现语义计算,适用于表达式求值和类型检查等场景。翻译模式则将语义动作嵌入产生式,指定执行时机,常用于生成中间代码,如将算术表达式转换为三地址码或翻译控制结构。两种方法各有特点,属性文法侧重静态属性计算,翻译模式强调动态代码生成过程。文中通过算术表达式求值、类型检查和if语句翻译等示例展示了具体应用。

2026-05-28 14:58:08 556

原创 编译原理 | 上下文无关文法、从文法类型到二义性分析

本文系统介绍了形式语言中的Chomsky谱系和上下文无关文法(CFG)的核心概念。首先阐述了四种文法类型(0型至3型)的定义、产生式形式和对应自动机,比较了它们的表达能力。重点讲解了上下文无关文法的推导过程(最左/最右推导)、语法树构建以及二义性判断方法,并通过算术表达式案例展示了二义性文法的识别与消除。最后详细解析了短语、直接短语和句柄的概念及其在语法树中的对应关系,通过典型例题演示了综合分析方法。全文以形式语言理论为基础,结合具体案例,系统性地讲解了上下文无关文法的核心知识点。

2026-05-27 23:39:06 855

原创 编译原理|预测分析表与句子分析过程(含复杂例题 + 错误处理)

本文详细讲解了预测分析表的构造与句子分析过程。首先回顾了FIRST、FOLLOW和SELECT集的核心概念,并以算术表达式文法为例展示了三集合的计算结果。重点阐述了预测分析表的构造方法,通过将SELECT集信息压缩成二维表实现O(1)决策,并给出了完整的预测分析表示例。最后,以"i+i*i"为例演示了LL(1)分析器的具体工作流程,包括分析栈的变化、查表决策和输入指针移动等步骤。文章还通过表格形式验证了该文法是LL(1)文法,并提供了分析算法的伪代码实现。整个过程清晰地展现了预测分析法如何实现高效无回溯的语

2026-05-26 17:49:22 372

原创 【编译原理】有穷自动机(下):正规式与有穷自动机的等价性

本文介绍了正规式与有穷自动机的等价性转换过程。首先通过Thompson构造法将正规式转换为NFA,该方法采用归纳式翻译,按语法树逐层拆解,使用ε转移连接基础NFA模块。以正规式(a|b)*abb为例,详细展示了从正规式构建14状态NFA的过程。接着通过子集构造法将NFA转换为5状态的DFA,核心是计算ε-closure。最后简要提及使用分割法对DFA进行最小化。整个过程实现了"正规式→NFA→DFA→最简DFA"的完整转换链路,为编译器词法分析提供了理论基础。

2026-05-25 12:27:21 212 1

原创 有穷自动机(上):DFA、NFA 与等价转换

本文介绍了有穷自动机的基本概念,重点讨论了DFA和NFA两种模型及其等价转换。DFA具有确定性转移特性,但设计难度较高;NFA通过允许不确定转移和ε转移,降低了设计复杂度。文章详细讲解了子集构造法将NFA转换为DFA的过程,以及通过分割法实现DFA最小化的步骤。这两种方法形成互补:子集法消除不确定性导致状态膨胀,分割法则压缩冗余状态实现最小化。最终表明,虽然DFA和NFA在形式上存在差异,但它们的语言识别能力是等价的,共同构成了词法分析的理论基础。

2026-05-24 23:08:10 358

原创 LR(1) 分析表与展望集——从理论到实战

本文详细介绍了LR(1)分析表的构造过程及其优势。主要内容包括: 通过具体文法示例(S→L=R|R等)展示了LR(1)项目集族的构造方法,重点说明了展望符的传播机制 对比了LR(1)与SLR(1)的关键差异:LR(1)通过精确的展望符分离移进/归约冲突 构建了完整的LR(1)分析表(ACTION和GOTO表) 通过输入串"*id=id"的解析过程,演示了LR(1)分析器的实际工作流程 核心结论:LR(1)通过为每个项目维护精确的展望符,能够处理SLR(1)无法解决的文法冲突,具有更强的语法分析能力。

2026-05-24 21:16:41 342

原创 编译原理:从 LR(0) 到 LR(1)

本文系统梳理了LR语法分析技术的演进历程,从基础到高级依次解析了LR(0)、SLR(1)和LR(1)三种分析方法的核心原理与判断标准。LR(0)作为最基础形态采用"盲目归约"策略,SLR(1)通过引入FOLLOW集实现粗粒度冲突消解,而LR(1)则通过精确的展望符计算实现上下文相关分析。文章通过典型文法案例和状态图对比,生动展示了每种方法的优势与局限:LR(0)因完全忽略前瞻符号而能力有限;SLR(1)虽扩展了分析能力但仍存在全局FOLLOW集与局部上下文不匹配的问题;最终LR(1)通过为每个项目定制展望符

2026-05-23 23:07:19 368

原创 FIRSTVT与LASTVT的定义与求法

本文介绍了编译原理中算符优先分析法的核心概念FIRSTVT和LASTVT集。FIRSTVT集用于确定非终结符推导出的最左终结符,LASTVT集则定位最右终结符。通过算术表达式文法的完整示例,详细演示了FIRSTVT/LASTVT的计算方法、优先关系表的构建规则(等于、小于、大于关系),以及算符优先分析的具体步骤。该方法利用栈结构比较终结符优先级,指导移进或归约操作,能高效处理算术表达式等具有明确优先级的文法。文章特别强调了常见错误点,如运算符不会进入LASTVT集,并通过表格验证了优先关系的正确性。

2026-05-20 19:02:44 375

原创 编译原理|FIRST、FOLLOW、SELECT集超详细解读(含例题)

本文详细解读了编译原理中的FIRST、FOLLOW和SELECT集合,它们是构造LL(1)分析表的关键。FIRST集确定文法符号串的首个终结符,FOLLOW集找出非终结符后跟的终结符,SELECT集决定选择哪条产生式进行推导。通过经典算术表达式和简单例题,文章展示了如何逐步计算这三个集合,并总结了核心规则:FIRST集需穿透空串,FOLLOW集需继承后续符号的集合,SELECT集则区分空与非空产生式。最后指出这些集合在判定LL(1)文法中的应用,强调对空串处理的技巧是掌握这些概念的核心。

2026-05-20 16:16:01 587

空空如也

空空如也

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

TA关注的人

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