- 博客(70)
- 收藏
- 关注
原创 我司开发实践:从流程编排到智能决策的演进
本文对比了智能项目中两套技术方案的优劣。第一套基于FastGPT流程编排,开发快但存在意图识别脆弱、SQL生成风险、链路延迟高等问题。第二套采用Java自研ReAct Agent,通过Skill蒸馏、双层记忆管理和标准化工具调用,实现灵活决策和可控扩展,在多轮对话和准确性上表现更优。最终选择方案二作为主力架构,未来计划优化Skill自动化蒸馏、引入强化学习并封装标准化API。两种方案对比显示,ReAct Agent在灵活性、扩展性和长期维护价值上更具优势。
2026-06-17 11:31:55
324
原创 Java开发:AI模型代码实现方案客观对比 [出乎你的意料] GPT5.3 Codex vs 豆包)
Java开发AI模型代码对比:GPT5.3 Codex vs 豆包 本文对比了两款AI模型(GPT5.3 Codex和豆包)在Java考勤系统中的代码实现方案,针对多段打卡记录匹配多排班时段的场景。 核心差异: 算法性能:豆包采用"命中即终止"策略,性能更优;GPT5.3 Codex使用双层全量循环 数据准确性:豆包确保唯一归属时段匹配,避免重复计算;GPT5.3 Codex可能导致统计误差 功能完整性:豆包增加了打卡时序校验和非法数据过滤 工程建议: 豆包方案更适合生产环境,因其高性能和精确性;GPT5.
2026-06-01 06:00:00
230
原创 Claude+deepseek-v4pro+cc switch+VSCode AI编程配置教程(Java开发专属)
【AI编程环境配置指南】本文详细介绍Java开发者如何配置Claude+deepseek-v4pro+cc switch+VSCode的高效AI编程环境。重点解决Claude Code默认单项目安装的局限性,通过全局复用配置实现多项目共享。配置流程包括:安装VS Code Claude插件、发送Java专属配置指令、设置CC全局共用路径,并集成deepseek-v4pro模型切换功能。最终实现轻量化的Java开发支持,保留代码生成、BUG排查等核心功能,剔除冗余模块。配置完成后可立即投入SpringBoot
2026-05-22 10:10:02
750
原创 踩坑实录!DynamicRoutingDataSource配置不加载,竟是IDEA编译搞的鬼 dynamic-datasource cannot find primary datasource
摘要: 开发中配置MyBatis-Plus的dynamic-datasource组件时遇到"找不到主数据源"报错,排查发现IDEA直接Debug启动未将resources文件复制到target目录,导致Spring无法读取配置。通过标记资源目录、添加Maven前置命令或委托构建给Maven三种方案解决,强调非常规问题需关注工具配置和编译流程。该问题凸显了IDEA与Maven构建机制的差异,提醒开发者注意资源文件复制这一关键环节。(149字)
2026-03-26 19:00:00
391
原创 【生产实战】生产事故:后端程序拿不到自定义请求头,由于Nginx 默认不透传请求头
Nginx请求头透传避坑指南 本文通过实战案例解析Nginx反向代理中请求头透传的常见问题。核心发现:Nginx默认不会透传所有客户端请求头,特别是自定义请求头(如X-User-Token)和含下划线请求头(X_User_Token)。 关键解决方案: 显式配置proxy_set_header透传必要请求头 含下划线请求头需开启underscores_in_headers on 避免生产环境全量透传请求头 最佳实践: 自定义请求头使用横线命名(X-User-Token) 按需透传必要请求头 显式配置标准请求
2026-02-27 07:00:00
687
原创 观摩下Cursor 官方系统提示词 Cursor Prompts
摘要:本文档详细说明了一个AI编程助手的操作规范,该助手基于GPT-4.1构建,集成在Cursor编辑器中。助手需遵循严格的交互准则:自动收集用户编程环境信息,自主解决问题直到完全解决才结束回合;使用工具时需遵循特定格式且不向用户透露工具细节;代码修改需确保可立即执行;展示代码时区分现有代码引用(带行号和路径)和新建代码块(带语言标识);强调全面收集信息、多次语义搜索的重要性。文档通过大量正误示例明确了代码展示格式要求,确保沟通清晰规范。
2026-02-27 06:30:00
670
原创 卸载 IDEA 2019 安装 2021 后启动失败?罪魁祸首竟是“残留配置”!
摘要:升级IntelliJ IDEA时,从2019版卸载安装2021版后启动失败,报错显示加载了旧版javaagent配置。问题根源在于JetBrains IDE采用"安装目录+用户配置目录"分离设计,卸载时未清理用户配置目录,导致新版继承了旧版破解配置。解决方法包括:1) 手动删除/重命名%APPDATA%\JetBrains\IntelliJIdea2021.3\目录;2) 清理.vmoptions文件中的非官方参数;3) 首次启动选择不导入旧设置。文章提醒开发者注意版本升级时的配置
2026-01-29 06:15:00
266
原创 【生产实战】生产环境程序故障怎么处理?为什么高手处理程序故障都很快?因为有这套流程
【生产实战】生产环境程序故障怎么处理?为什么高手处理程序故障都很快?因为有这套流程。本文提出了一套标准化程序故障处置流程(SOP),包含故障分级、处置原则和详细步骤。流程分为P0-P4四个故障级别,强调先止损后根因的分析原则,建立从故障发现、确认分级、止损恢复、根因定位到复盘的完整闭环。关键步骤包括:基于监控日志快速确认故障、优先采取回滚/降级等恢复措施、通过5Why法分析根因、48小时内完成P0/P1故障复盘。最后提出预防改进措施,如建立发布检查清单、关键链路监控和定期故障演练,形成持续优化的故障管理机制
2025-12-22 09:59:34
674
原创 【生产实战】99.9%的开发者都踩坑!SpringBoot启动CPU飙升?
99.9%的开发者都踩坑SpringBoot服务冷启动时CPU飙满的常见原因在于多余请求参数触发Spring框架的字符串相似度计算。本文揭示:当客户端传入未定义的参数时,Spring会调用高耗时的calculateStringDistance方法,导致CPU飙升。解决方案包括:1)SpringBoot 3.1+使用ignore-unknown-fields配置;2)低版本通过拦截器精准过滤参数;3)统一封装公共参数DTO。优化后CPU峰值可从98%降至40%以下,接口响应时间从3s+降至60ms内。
2025-12-19 06:45:00
875
原创 【生产事故复盘】默认数据库连接池“假死”引发的血案,切换 Druid 后的重生之路
摘要:本文分析了分布式系统中数据库连接池的关键作用及默认配置的潜在风险。以HikariCP为例,指出其三大核心问题:未响应连接无法回收、缺乏主动故障干预和监控排查困难。针对连接阻塞问题,提出了四种常见场景及解决方案,并对比了HikariCP与Druid的特性,最终推荐使用具备主动连接管理能力和完善监控机制的Druid连接池。Druid通过连接泄漏自动回收、慢查询强制中断、全链路超时防护和可视化监控等机制,有效解决了连接耗尽问题。文章最后提供了连接队列阻塞的排查清单,包括事务范围检查、网络超时配置等关键步骤。
2025-12-02 07:30:00
651
原创 【生产实战】Flowable接口性能优化实战:从10s到0.5s的极致提升
Flowable 接口性能优化实践总结 通过多维度优化措施,成功将Flowable流程核心接口响应时间从10s降至0.5s: 数据量优化:减少默认展示条数,快速见效 存储重构:自建表单数据表,解决Flowable变量存储低效问题 缓存策略:避免重复查询流程定义信息 查询优化:自定义SQL剔除冗余字段 关键优化思路:减少数据传输、避免重复查询、优化存储结构、轻量化查询,最终实现10倍性能提升。
2025-11-21 07:15:00
774
原创 【生产故障】XXL-JOB自动调度失败,手动触发成功(附详细原理、排查、解决)
XXL-JOB任务手动执行成功但自动调度失败的排查记录表明,问题源于网络路径差异和防火墙配置。手动执行通过浏览器转发请求成功,而自动调度由Admin后台直接发起请求时,因执行器防火墙未放行Admin内网IP(13)导致失败。排查发现执行器仅放行了公网IP(93),未允许内网IP访问。解决方案是在执行器防火墙中添加对Admin内网IP的放行规则,问题得以解决。该案例揭示了XXL-JOB不同执行模式的请求路径差异,提醒需特别注意多网卡环境下的网络策略配置。
2025-11-08 10:00:00
874
原创 【排查了一天的坑】Flowable 监听器切换数据源失败(附详细排查过程)
摘要:Flowable监听器方法无法切换数据源的问题源于Flowable自身的事务管理机制。在执行任务时,Flowable会创建自己的事务环境、SqlSession和数据源绑定,导致即使使用@DS注解,实际连接仍被Flowable的默认数据源劫持。解决方案是:1)监听器仅发布事件;2)使用@Transactional(propagation=REQUIRES_NEW)创建新Spring事务,脱离Flowable环境。这样可暂停Flowable事务,使动态数据源切换生效,SQL操作将在目标数据源执行。
2025-11-06 19:19:35
451
6
原创 实战排查:Java 解析 Excel 大型 导致内存溢出问题的完整解决过程
摘要:系统运行时出现内存溢出错误,经排查发现是Apache POI的XSSFWorkbook全量加载Excel导致内存耗尽。通过配置JVM参数捕获内存快照,使用MAT工具分析定位到Excel解析工具类问题。深层原因是POI资源未及时释放导致内存泄漏。解决方案包括:1)改用SXSSFWorkbook流式处理;2)确保资源正确释放;3)推荐使用EasyExcel流式解析。这些方法有效解决了大型Excel文件处理时的内存问题。
2025-09-26 17:39:06
823
原创 开发趣事-异常日志不输出
本文总结了线程内异常日志不输出的常见问题及解决方案。主要原因是新线程异常未被捕获,导致日志丢失。提供两种解决方法:1) 直接在线程内try-catch并记录日志;2) 推荐通过Thread.setDefaultUncaughtExceptionHandler设置全局异常处理器,确保所有线程异常都能被记录。同时强调避免使用e.printStackTrace(),而应采用日志框架的log.error方法,确保异常信息能写入日志文件而非仅输出到控制台。
2025-08-22 11:46:21
312
原创 离线maven依赖报错
摘要:本文针对离线Maven环境中的依赖报错问题,提出解决方案:1)通过mvn install定位缺失的依赖包,批量补充时采用"仓库覆盖法";2)提供Windows批处理脚本清理残留的.repositories和.lastUpdated文件;3)指出IDEA 2021需搭配Maven 3.8.1及以下版本;4)对IDEA临时性报红给出"清空-刷新-恢复"的应急操作流程。适用于内网开发环境配置场景,能有效解决依赖传递缺失和版本兼容性问题。(150字)
2025-08-21 16:19:20
553
原创 项目配置文件正确但是启动失败,报配置文件内容错误或中间件地址与实际不符
摘要:调试项目时通过命令行指定本地yml启动,导致后续修改项目yml后配置不生效。Spring Boot配置文件加载优先级为:外部配置>内部配置,命令行参数最优先。具体路径顺序为:Jar包外config目录>Jar包根目录>Jar包内config目录>Jar包内根目录。同路径下properties格式优先于yml/yaml。这解释了为何本地yml覆盖了项目中的yml配置。
2025-08-04 16:17:21
358
原创 一个项目正常,另一个项目JWT解析报错
摘要:解析JWT时出现WeakKeyException错误,提示HS512算法密钥需≥512位,而实际密钥仅128位。经排查发现,生成JWT的项目使用jwt0.7.0版本,而解析项目使用jwt0.11.2版本,高版本对密钥安全性要求更严格导致不兼容。建议统一JWT库版本或按规范使用符合要求的密钥长度。
2025-08-02 13:24:24
203
原创 crud工程师遇不到的问题:公共模块deploy后,其他maven项目引不到
crud工程师遇不到的问题:deploy打包后的包,项目中缺引不到了。
2025-05-28 15:35:57
244
原创 spring返回数据统一处理,返回数据序列化,前后端Long丢失精度
spring返回数据统一处理,返回数据序列化,前后端Long丢失精度,统一数据返回处理 -大数字 转 字符串 (前端会丢失精度,所以转字符串) -null 转 空字符串
2025-05-07 11:26:51
373
原创 Cannot resolve org.springframework.boot:spring-boot-starter-web:unknown
在您的配置中,spring-boot-starter-web和spring-boot-starter-data-jpa缺少了标签,但这不是问题,因为它们在spring-boot-dependencies中已经有定义。在这个修正后的配置中,spring-boot-starter-web和spring-boot-starter-data-jpa被移到了部分,而spring-boot-dependencies则保留在中以管理它们的版本。提供的Maven依赖配置代码中存在一些问题,特别是在标签下的配置。
2025-03-31 09:44:55
760
1
原创 语音识别:docker部署FunASR以及springboot集成funasr
全网最详细docker部署funsar以及springboot集成funar
2024-11-03 12:15:59
4447
3
原创 springboot启动扫包路径
springboot启动后默认扫******Application下的包也就是本项目中的内容,如果想扫特定包需要 @SpringBootApplication(scanBasePackages = “com.xx.xx”) 添加扫包路径。为什么我们引入spring-kafka却不需要指定扫它呢,因为“自动装配”,这个是重点知识。
2023-02-17 10:33:14
583
原创 hive修改spark版本重新编译,hive3.1.3 on spark3.3.0
hive修改spark版本重新编译,hive3.1.3 on spark3.3.0
2022-08-30 21:35:19
4997
10
原创 HDFS离开安全模式仍提示Name node is in safe mode
HDFS离开安全模式仍提示Name node is in safe mode
2022-07-06 19:59:35
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅