- 博客(11)
- 收藏
- 关注
原创 Java 后端做 Agent 智能体选型实战:Spring AI Alibaba 与 Spring AI + LangChain4j/LangGraph 对比
本文从Java微服务视角,对比SpringAIAlibaba与SpringAI+LangChain4j/LangGraph两条Agent开发路线。指出:若已有SpringCloud体系,优先在Java侧落地智能体,可复用治理能力、降低调用成本。SpringAIAlibaba适合意图固定、快速上线的场景(如企业微信助手);而复杂多步推理、需状态管理的场景(如桥梁信息查询)则更适合SpringAI+LangGraph组合。选型应综合业务复杂度、团队经验与生态成熟度,推荐“简单场景用SpringAIAlibaba
2026-11-10 11:36:55
367
原创 JDK新特性详解
Java 16+引入Record记录类,实现不可变值对象的简洁定义,天然线程安全,适用于DTO/VO。JDK17密封类(Sealed Classes)限定继承范围,增强类型安全性,配合模式匹配实现穷尽性检查。JDK21正式支持switch模式匹配与record模式,显著简化类型判断与解构逻辑,提升代码安全与可读性。三者协同推动Java向更现代、安全、高效的语法演进。
2026-10-12 10:46:22
457
原创 微信小程序多设备登录:多端共存、同端互斥完整方案
本文详解微信小程序多设备共存、同端互斥的完整实现方案,基于SpringSecurity+JWT+Redis技术栈。核心在于将设备类型(IPHONE/IPAD/PC)通过wx.getDeviceInfo()识别并写入JWT payload,区分不同终端。采用双Token机制:登录时按设备类型存RefreshToken至Redis,实现同端互斥;访问时仅校验JWT,续期时比对Redis,存在最长30分钟延迟。若需瞬间踢人,可结合WebSocket推送或缩短AccessToken有效期。单Token方案虽能实时踢
2026-10-10 09:28:58
544
原创 游标分页和偏移量详解
偏移量分页(OffsetPagination)通过LIMIT+OFFSET实现,适合小数据量、需跳页的场景,但深分页性能差且易受数据变动影响;游标分页(CursorPagination)基于上一页最后记录的键值定位,利用索引高效查询,性能稳定、无数据漂移,适用于信息流、无限滚动等大数据量场景。两者本质区别在于:偏移量为绝对位置(需数行),游标为相对位置(直接定位)。大厂多采用游标分页或结合使用,兼顾性能与体验。
2026-10-09 14:57:48
338
原创 四千万级别的mysql插入和查询的性能优化
下面将数据查询优化,首先是看索引分配,用explan分析扫描的行,和索引,发现sql并没有按照添加的索引走,然后在sql中用指定索引查了一遍 use index(索引名)查之后性能查询速度只是快了一半,原来用时是5分钟,现在的用时是3分钟有时是2分半左右,那么为什么没有走索引呢下面详解。最近刚想起上次接的任务,解决后还没有总结,现在总结下,场景是一个日常的巡查,每天的桥梁要巡查将新纪录保存到数据库,而且还要显示巡查率,上面的不同的领导还要看到实时的日常巡查率。:索引不是唯一瓶颈,甚至不是主要瓶颈。
2026-10-09 10:56:21
312
原创 Langgraph框架简单解析
LangGraph 是由 LangChain 团队打造的一个底层编排框架和运行时,专门用于构建、管理和部署长期运行的有状态智能体。其核心思想是将应用的工作流程抽象为一个有向图(Graph)结构,通过节点(Node)和边(Edge)来定义任务的执行步骤和逻辑流。它的设计目标是解决传统 Agent 框架(如 LangChain Agent)的“黑盒”问题,提供状态驱动、可视化、可中断三大核心特性。在实际应用中,LangGraph 已被等企业采用。核心价值。
2026-09-09 14:41:56
304
原创 TCP和UDP的区别
TCP与UDP的选择取决于业务场景。TCP有连接、可靠、面向字节流,三次握手与四次挥手,通过重传和拥塞控制保证数据完整,但丢包会造成延迟剧增。UDP无连接、不可靠、头部开销小,传输高效,延迟不受丢包影响,主要受排队影响。实时游戏、直播等多用UDP,网页、文件传输等用TCP
2026-09-08 11:30:24
380
原创 Python装饰器是什么?一文教你搞懂烦人的Python装饰器!!
对于学习java的人来说应该知道装饰器是在java中的一种设计模式作用是包装对象场景类似IO流但在python中他的应用就比较广了本质就是语法糖(高阶函数)用函数包装函数,Java 装饰器 = 用"类"包装"对象",运行时动态组合功能;Python 装饰器 = 用"函数"包装"函数",定义时静态替换功能一句话概括python中的装饰器就是:装饰器 = 不修改原函数和调用方式,给函数额外加一层功能另外python还结合了语法糖举个例子就是加日志:输出就是 :我在加班加上日志的话就是这样输出就是I
2026-09-03 15:15:24
186
原创 多数据源切换 vs 多数据库适配:@DS 注解与 DatabaseIdProvider 的区别
java开发#后端开发在开发中是否遇到过这样的场景——项目突然要连接多个数据库。或者一套代码需要部署到不同的数据库环境(如 MySQL、达梦、SQL Server)我现在遇到的是一套代码需要部署不同的数据环境,搜索了一下学习发现,目前主流的是现实是基于mybatisplus的dynamic-datasource。下面这个的现在不同版本的方法优缺点和场景,最推荐的还是dynamic-datasource,或者mybatisplus的一个付费版本的这个不做赘述。
2026-08-27 10:04:51
244
原创 Get请求和Post请求的区别
在开发中我遇到一个问题,常常自己在后端开发和前端开发合作的时候,遇到对接问题,不按照规范来,关于请求不到正确信息,下面自己查阅了资料和大神说法重点记录一下观点是在http1.1版本下遇到的问题,http/2升级为多路复用。
2026-08-21 11:35:23
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅