- 博客(251)
- 收藏
- 关注
原创 Spring AI与智能代理模式的深度解析
本文深入解析了Spring AI框架中的智能代理模式实现。文章首先介绍智能代理的概念及其核心特征(感知、决策、执行和学习),然后详细阐述Spring AI的架构设计和核心组件。通过代码示例展示了基础代理接口设计和Spring AI集成实现,包括上下文理解、向量检索和AI模型调用等关键步骤。文章还提供了智能代理系统的实战案例和性能优化建议,为Java开发者构建高效AI代理提供完整解决方案。(149字)
2025-09-30 12:36:05
693
原创 Java动态代理在Spring AOP中的应用实践
Java动态代理在Spring AOP中的核心应用 本文深入解析Java动态代理机制,重点对比JDK动态代理和CGLIB的实现原理。JDK动态代理基于反射机制,通过Proxy类和InvocationHandler接口在运行时生成代理类,适用于接口代理;而CGLIB通过字节码增强技术实现类代理。在Spring AOP中,两种代理方式根据目标对象类型自动选择:接口优先使用JDK代理,否则采用CGLIB。文章通过代码示例展示了方法拦截器链的实现原理,并分析了两者在性能、适用场景上的差异,为Spring AOP的企
2025-09-30 12:32:30
119
原创 [写的就是真实]EasyExcel + 自定义线程池:万级数据流式读取批量导入更新,性能提升75%!
本文分享了实习期间采用EasyExcel和自定义线程池优化万级数据批量导入的技术方案。通过流式读取Excel数据,结合分批次处理和自定义线程池并行执行,实现了75%的性能提升,有效规避了内存溢出风险。详细介绍了线程池配置、数据模型定义、流式读取监听器实现等核心代码,展示了如何将大数据量处理分解为小批量任务并行执行,最终实现高效稳定的数据导入功能。该方案适用于需要处理大规模Excel数据的场景,具有较好的参考价值。
2025-08-21 09:15:00
747
原创 [写的就是真实]大文件分片上传工具:断点续传+并行加速+秒传优化,性能提升300%!
大文件分片上传技术方案摘要 本文介绍了一种基于Java的企业级大文件上传解决方案,通过分片上传、断点续传和并行加速等技术,实现了性能提升300%、支持TB级文件上传的目标。方案采用Spring Boot框架,结合Redis存储断点信息,实现动态分片策略(5MB-50MB可调)、断点续传管理和秒传校验功能。核心实现包括:1)智能分片服务,根据文件大小动态计算最优分片;2)断点续传服务,利用Redis持久化上传进度;3)并行上传优化,通过自定义线程池加速传输。该方案已成功应用于企业文件管理系统,完美解决大文件上
2025-08-21 09:00:00
657
原创 智能体未来趋势:多智能体协作与通信协议
想知晓 AI 智能体的未来方向?本文聚焦多智能体协作与通信协议。解析工作流编排的核心模式,如提示链、路由、并行等,附 Java 实现代码。介绍 OWL 多智能体协作框架及技术特点,详解 A2A 智能体通信协议的关键要素,对比其与 MCP 协议的差异。助你把握智能体协作化、专业化趋势,洞察未来应用前景。
2025-07-10 09:00:00
885
原创 智能体高级功能:工具集成与性能优化
想让 AI 智能体更强大高效?本文聚焦智能体高级功能开发。详解工具系统架构,含统一接口设计与管理,附网络搜索、图像搜索等实用工具代码。分享循环检测、上下文优化、超时控制等性能优化策略。还展示专业场景定制实例,助你扩展智能体能力边界,提升其可靠性与用户体验,轻松应对复杂任务。
2025-07-10 09:00:00
1021
原创 从零构建AI智能体:架构设计与代码实现
想亲手打造会思考、能调用工具的 AI 智能体?本文带你从架构到代码实操。解析 OpenManus 分层架构,用 Java 和 Spring AI,从基类到工具调用层逐步实现。含工具开发、循环检测等实用模块,助你掌握核心技术,拥有专属智能体!
2025-07-07 09:00:00
781
原创 AI智能体入门:概念、技术与应用全解析
想了解 AI 智能体的奥秘吗?本文全面解析其概念、技术与应用。从核心架构到工作流程,详解智能体如何感知环境、自主决策。深入剖析 CoT 思维链、Agent Loop 执行循环、ReAct 模式等关键技术,附代码实现。还介绍记忆系统、知识库等支持组件,以及平台使用、开发工具集成、程序调用等应用方式,覆盖客服、数据分析等多场景。无论新手还是开发者,都能快速掌握智能体核心知识。
2025-07-07 09:00:00
997
原创 3步搞定MCP协议部署!
MCP协议为企业AI系统提供了标准化的工具集成方案,支持本地与远程调用模式,适用于多场景部署。文章深入探讨了其在金融、医疗和制造业的应用策略,并结合Spring框架展示了服务注册、工具开发及安全合规实现。通过合理架构设计、治理规范与性能优化,企业可高效整合AI能力与现有系统,提升业务效率并保障安全性。
2025-06-12 09:00:00
1025
原创 MCP协议安全指南|零基础也能~
MCP协议在提供AI工具调用标准化接口的同时,也面临诸多安全挑战。其设计初衷侧重功能实现而忽视安全性,导致信息不对称、上下文隔离不足、权限验证缺失等隐患。本文系统分析了MCP的安全风险,结合代码审查、环境隔离、网络策略等实践提升安全性,并详解本地、远程及Serverless三种部署模式的应用场景与配置要点,强调安全与便利的平衡。未来需推动协议层深度安全集成与生态治理,确保MCP生态健康发展。
2025-06-12 08:30:00
1216
原创 使用Spring AI和MCP协议构建图片搜索服务
本文介绍如何使用Spring AI与MCP协议构建图片搜索服务,通过封装Pexels API实现AI调用图像资源。内容涵盖项目架构设计、服务端与客户端开发步骤、传输模式配置及部署方案,提升AI应用的多模态处理能力,增强交互实用性。
2025-06-09 09:00:00
1382
原创 MCP协议入门:AI工具调用的标准化接口
MCP协议作为AI工具调用的标准化接口,通过统一工具定义和调用流程,增强AI获取实时信息、执行外部操作及使用专业工具的能力。它简化开发、促进生态共享,助力AI应用突破模型限制,广泛适用于云平台、客户端及程序内调用场景。
2025-06-09 08:45:00
750
原创 对话记忆持久化方案对比与实现:构建可靠的AI会话系统
Spring AI的对话记忆持久化支持内存、文件、数据库三种方案:内存存储高性能但易丢失,适合开发测试;文件存储兼顾持久化与简易性,适合单实例部署;数据库存储高可靠支持分布式,但依赖运维。文章通过性能对比(写入/读取耗时、扩展性等)指导选型,并提供多模态记忆、向量检索、智能摘要等扩展方案,助力构建生产级AI对话系统。
2025-05-22 09:00:00
999
原创 自定义Advisor机制:打造更智能的AI应用
Spring AI的Advisor机制基于责任链模式,允许开发者在LLM调用链中插入自定义逻辑(如日志记录、违禁词过滤、推理增强),提升应用安全性与智能化水平。其核心接口`CallAroundAdvisor`(同步)和`StreamAroundAdvisor`(流式)通过`getOrder()`控制执行顺序。内置支持对话记忆、知识库检索、向量存储等功能,并可通过实战案例实现情感分析、术语增强等定制化逻辑,结合优先级配置与性能监控,构建高效合规的AI应用。
2025-05-22 08:30:00
1042
原创 GitHub文档加载器设计与实现
GitHub文档加载器可从GitHub仓库加载文件并封装为Document对象,支持单文件/目录递归加载、智能分支回退、文件大小/类型过滤,适用于知识库构建与RAG应用。提供SSL安全测试方案,建议生产环境规范证书验证。核心设计兼顾性能与容错性,助力高效处理开源文档。
2025-05-17 20:51:20
1185
原创 构建下一代AI智能体:基于Spring AI的多轮对话应用
本文介绍了如何基于SpringAI框架构建具备持续记忆能力的多轮对话AI应用。首先,文章详细探讨了Prompt工程的核心要素,包括系统Prompt、用户Prompt和助手Prompt的设计,并提出了优化Prompt的技巧,如明确任务角色、提供详细示例、使用结构化格式等。接着,文章分析了AI需求的三要素:需求来源、需求细化和MVP策略。在应用方案设计部分,文章展示了如何设计系统提示词,并通过SpringAI的ChatClient和Advisors实现多轮对话的记忆持久化。最后,文章通过一个恋爱咨询应用的开发实
2025-05-17 08:30:00
1331
原创 基于Spring AI实现多轮对话系统架构设计
基于SpringAI框架的多轮对话系统设计,涵盖ChatClient、Advisor、ChatMemory等核心组件,探讨链式调用、动态参数绑定、拦截器机制及多种记忆存储方案,助力构建高效、可扩展的对话系统。
2025-05-12 09:00:00
2188
原创 Prompt工程精要与优化策略:让AI更懂你的意图
本文系统介绍了Prompt工程的理论基础、优化技巧及实战应用,旨在帮助开发者提升AI应用的表现力与实用性。文章首先阐述了Prompt工程的核心三角架构,包括系统Prompt、用户Prompt和助手Prompt的协同作用,并提出了三大维度设计方法,涵盖功能型划分、复杂度梯度和开发级别。接着,文章详细介绍了基础提示技巧和进阶提示策略,如思维链提示法和少样本学习,并通过案例分析展示了从普通到专业的Prompt优化过程。此外,文章还探讨了Prompt模板设计与参数化的实现方法。
2025-05-12 08:30:00
797
原创 Spring AI: 为Java应用赋能人工智能
Spring AI 是 Spring 生态系统的一部分,旨在简化 Java 应用中人工智能功能的集成。它通过统一接口支持多个主流 AI 模型提供商,如 OpenAI 和 Google Vertex AI,并强调可移植性和模块化设计。文章详细介绍了 Spring AI 的核心组件、快速入门步骤和高级功能,例如 RAG(检索增强生成)与向量数据库集成。此外,还涵盖了最佳实践、安全性和性能优化策略,并展望了其未来发展。
2025-04-28 08:30:00
1351
原创 AI大模型接入实战:概念、方式与代码详解
AI大模型是指那些拥有超大规模参数的深度学习模型,它们经过海量数据训练,能够处理多模态数据(如文本、图像、音频等),具备逻辑推理和代码编写等"涌现能力"。这些模型通常拥有数十亿甚至数千亿的参数,能够理解复杂指令并生成高质量的内容。OpenAI:提供GPT-4o(多模态)、GPT-4(文本+图像)、GPT-3.5 Turbo等模型Anthropic:推出Claude 3系列模型Google:开发了Gemini Ultra/Pro/Nano系列Meta:开源了Llama 3和Llama 2模型。
2025-04-28 08:30:00
1802
2
原创 深入解析,MyBatis的一二级缓存
MyBatis的二级缓存机制为我们提供了强大的性能优化工具,正确使用可以显著减少数据库访问,提升应用响应速度。一级缓存适用于单会话内的查询优化,无需配置,自动管理二级缓存适用于跨会话的数据共享,需要手动配置,并注意数据一致性问题在实际应用中,应根据业务特性、数据变更频率和一致性要求来选择合适的缓存策略。对于分布式环境,可能需要考虑使用专业的分布式缓存解决方案替代MyBatis原生的二级缓存。正确理解和使用MyBatis的缓存机制,将帮助你在保证数据一致性的同时,最大限度地提升应用性能。
2025-04-07 08:00:00
1502
原创 深入理解STAR法则
STAR是**Situation(情境)、Task(任务)、Action(行动)、Result(结果)**的缩写,是一种结构化描述个人经历或成就的方法论。它通过四个维度的递进式叙述,将复杂的故事转化为清晰、有逻辑的表达,尤其适用于需要突出个人能力的场景。Situation(情境):描述事件发生的背景,包括时间、地点、环境及面临的挑战。Task(任务):明确你的角色和需要完成的目标。Action(行动):具体说明你采取了哪些行动,以及背后的思考逻辑。Result(结果)
2025-04-07 01:38:03
4644
原创 Liquibase:数据库变更版本控制工具 CI/CD
Liquibase是一个开源的数据库版本控制工具,它通过日志文件的形式记录数据库的变更,然后执行这些变更,将数据库更新或回滚到一致的状态。Liquibase支持多种数据库类型,包括MySQL、PostgreSQL、Oracle、SQL Server等。除了使用Liquibase的XML标签,还可以直接执行自定义SQL:</</</</Liquibase为数据库版本控制提供了强大且灵活的解决方案。通过将数据库变更作为代码进行管理,开发团队可以更可靠地跟踪、应用和回滚数据库变更,大大降低了跨环境部署的风险。
2025-03-25 08:15:00
1188
原创 Redis Stack 基础知识-构建现代实时数据平台
Redis Stack 是 Redis 官方推出的一站式解决方案,它整合了 Redis 最先进的模块和功能,为开发者提供了构建实时应用的理想平台。Redis Stack 作为现代实时数据平台,不仅继承了 Redis 的高性能特性,还扩展了其数据处理能力,使其成为构建 AI 应用、实时分析系统和高性能应用的理想选择。结合 Spring AI,Redis Stack 可以轻松实现向量数据库功能,为 RAG 系统和其他 AI 应用提供强大的基础设施支持。
2025-03-25 08:00:00
1088
原创 Java类加载器(ClassLoader)知识点总结
类加载器负责将Class文件(字节码)加载到内存中,转为JVM能够识别的Class对象。Java程序运行时,并不是一次性将所有类加载到内存,而是按需加载。Arthas是阿里巴巴开源的Java诊断工具,它可以帮助开发人员分析生产环境中的各种问题,包括类加载问题。类加载器是Java虚拟机的重要组成部分,它将Java程序的字节码动态加载到内存中。理解类加载器的工作原理和双亲委派模型对于解决类加载相关问题、防止类加载安全漏洞具有重要意义。通过Arthas等工具,我们可以更便捷地分析和解决类加载问题。/ω\
2025-03-05 09:15:00
933
原创 Java 集合框架 基础 - 幽默版
ArrayList是查找小能手LinkedList是增删高手HashSet是去重专家TreeMap是排序达人选对英雄,才能在对应场景下发挥最大战斗力!记住:工具千千万,场景不一般。用对工具事半功,用错工具事倍般。/ω\),支持一下。如果愿意的话关注一下。会对你有更多的帮助。每天都会不定时更新哦 >人<。
2025-03-05 09:00:00
859
原创 JVM初学者指南:Java虚拟机基础知识 笔记
JVM(Java Virtual Machine,Java虚拟机)是运行Java字节码的虚拟机。JVM是Java"一次编写,到处运行"这一特性的关键所在。无论什么平台,只要安装了对应的JVM,就能运行Java程序。跨平台性:Java代码被编译成字节码后,可以在任何安装了JVM的设备上运行自动内存管理:通过垃圾回收机制自动释放不再使用的内存安全性:提供沙箱安全机制,限制Java程序访问本地系统资源JVM是Java生态系统的核心组件,理解JVM的工作原理对于编写高效、稳定的Java应用程序至关重要。
2025-03-03 09:30:00
658
原创 Git 最佳实践 入门:从零到团队协作的必备指南
现在尝试完成以下挑战:🔹 创建一个功能分支开发TODO列表功能git checkout -b feature/yourname/todo-list # 创建必要的文件 touch todo-list.js todo-list.css🔹 使用git add -p提交至少3个原子化修改# 编辑文件后...# 选择性地提交变更git commit -m "feat(todo): 创建基础Todo项组件"# 继续开发后...git commit -m "feat(todo): 实现添加新任务功能"
2025-03-03 09:00:00
1041
原创 FastExcel 新一代的潮流 (EasyExcel)
如果您的项目需要处理大规模的Excel数据,FastExcel无疑是一个值得考虑的选择。FastExcel通过事件监听器实现Excel文件的逐行读取,这对于处理大文件尤为重要,因为它可以避免内存溢出的问题。FastExcel作为一个高效且易于使用的Excel处理工具,不仅继承了EasyExcel的所有优点,还在此基础上进行了性能和功能的增强。在使用FastExcel进行Excel文件的读写操作之前,需要定义一个实体类,该类中的每个属性对应Excel中的一列。首先,创建测试数据,然后通过。
2025-01-20 14:15:00
1108
原创 解析JSON 几大工具
不管是和前端交互、调用第三方接口,还是处理配置文件,几乎都绕不开JSON。这篇文章总结了6种主流的JSON解析方法,希望对你会有所帮助。在Java开发中,解析JSON是一个非常常见的需求。曾有安全漏洞争议,社区支持稍逊Jackson。中小型项目,简单的JSON转换场景。企业级项目,复杂序列化和反序列化场景。丰富的注解支持,便于控制序列化行为。性能高,社区活跃,企业级项目首选。轻量级,简单易用,适合中小型项目。功能强大,性能优异,支持复杂结构。高性能需求,大数据量的动态解析。
2025-01-20 14:00:00
2298
原创 Java 集合框架 基础 总结 - lenyan
在 Java 编程中,集合框架是一个非常重要的部分,它提供了一组用于存储、操作和处理数据的类和接口。集合框架可以大大简化我们处理数据集合的工作,提高编程效率和代码质量。本文将对 Java 集合框架的基础内容进行总结,包括常见的集合类型、接口及其特点、常用方法等。Java 集合框架位于java.utilCollectionMap和Iterator。Collection是一个用来存储一组对象的接口,它有几个重要的子接口,如ListSet和Queue。Map则是用于存储键值对的数据结构。Iterator。
2024-12-23 10:00:00
1256
原创 一文秒懂 String、StringBuffer和StringBuilder的区别
例如,在一个多线程的服务器应用程序中,需要对用户输入的字符串进行拼接、格式化等操作,并且多个线程可能会同时访问和修改这个字符串,这时就应该使用StringBuffer。比如,在一个简单的本地工具程序中,需要对一个字符串进行大量的拼接、替换等操作,并且这个程序是单线程运行的,那么使用StringBuilder可以提高性能。StringBuilder在单线程环境下性能最好,因为它没有同步机制的开销,在进行字符串修改操作(如拼接、插入、删除等)时,能够快速地在原对象上进行操作,避免了创建大量新对象的开销。
2024-12-23 09:00:00
1014
原创 FastDFS:高效的分布式文件系统解析与实践
FastDFS 是专门为互联网应用量身定制的分布式文件存储系统,非常适合存储用户图片、视频、文档等各类文件。它充分考虑了冗余备份、负载均衡、线性扩容等机制,着重关注高可用、高性能等关键指标,使用它能够轻松搭建一套高性能的文件服务器集群,对外提供文件上传、下载等服务,并且基于 Docker 还可以快速进行搭建,方便快捷地应用到项目中。
2024-11-24 10:00:00
1004
原创 深入解析 EasyExcel 组件原理与应用
这种方式内存占用小、效率高,但 POI 官方提供的 API 过于繁琐,使用起来步骤繁多,比如读取一个 Excel 文件,要先将 xlsx 格式的 Excel 文件解析成 OPCPackage 对象,再创建 XSSFReader 对象来解析获取对应 xlsx 下的 xml 内容,想要处理还得进一步创建内容处理器等等,着实有些麻烦。在解析和写入等流程中,定义了一些模板化的方法,不同的实现类可以按照这些模板去扩展和定制具体的业务逻辑,保证了整体流程的规范性和可扩展性。
2024-11-24 09:00:00
1876
原创 《Go 语言基础入门:开启编程新旅程》- lenyan 青训营笔记
Go 语言,又被称为 Golang,是由 Google 公司开发的一种开源编程语言。它汲取了多种编程语言的优秀特性,旨在打造一门具有高效性能、简洁语法以及强大并发处理能力的语言。Go 语言在网络编程、云计算、分布式系统等诸多领域都有着广泛的应用,像 Docker、Kubernetes 等热门项目就是基于 Go 语言开发的。这里我们定义了一个名为add的函数,它接受两个整数类型的参数a和b,然后返回它们的和。
2024-11-23 09:30:00
1035
原创 Git 最佳实践 入门✨
觉得有用的话可以点点赞 (*/ω\*),支持一下。如果愿意的话关注一下。会对你有更多的帮助。每天都会不定时更新哦 >人< 。
2024-11-23 09:00:00
873
原创 Java 中的 Optional:优雅处理空值的利器
合理运用它的各种方法,不仅能够有效减少空指针异常的发生,还能让我们的代码逻辑更加清晰易读,提升整个项目的代码质量。包下的一个容器类,简单理解,它就像是一个特殊的 “盒子”,这个盒子里要么装着我们想要的某个对象(非空的情况),要么就是空的(没有装任何对象)。的诞生,就是为了解决这个痛点,它提供了一种标准化、优雅的方式来处理那些可能为空的值,让我们可以在代码中更清晰地表达对空值的预期和处理逻辑。,我们可以将原本分散在各个角落、用于判断对象是否为空的代码,统一用它提供的一套规范方法来处理,使代码的意图更加明确。
2024-11-18 09:00:00
1783
原创 ✨Java并发编程:Synchronized与ReentrantLock的比较
特性使用方便是否锁的细粒度控制有限高可中断否是公平锁选项否是性能现代JVM下接近甚至优于ReentrantLock取决于具体用例。
2024-10-02 10:00:00
458
原创 深入解析 ConcurrentHashMap:从 JDK 1.7 到 JDK 1.8
JDK 1.7:使用分段锁(Segment)和,每个 Segment 是一个独立的小哈希表,适合中等并发场景。JDK 1.8:采用 CAS 操作和锁定链表或红黑树的首节点,提供了更细粒度的锁,适合高并发场景。通过这些改进,JDK 1.8 版本的在性能和并发控制方面有了显著的提升。觉得有用的话可以,支持一下。如果愿意的话关注一下。会对你有更多的帮助。每天都会不定时更新哦 >人<。
2024-10-02 09:30:00
1899
lenyan算法笔记,日常更新自己的笔记而已
2024-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人