37 归档分页
370 留言互动
4 核心专题

从96%到70%

本文记录了把四个独立的 Spring Boot 项目(chat、puke、zepp、blog)合并为一个 Maven 多模块工程,只启动一个 total‑app.jar 的实践。原先每个项目占用一个 JVM,导致服务器内存接近 96%;通过在根 pom 统一依赖、在 launcher 中用 SpringApplicationBuilder 依次启动四个 ApplicationContext,并将配置分别放在 chat.yml、puke.yml、zepp.yml、blog.yml 中,消除了 JVM 底座的重复开销,内存降至约 70%。文章重点阐述了类路径冲突、资源目录重名、自动配置串扰和日志全局化等踩坑及对应的统一依赖、资源隔离、spring.autoconfigure.exclude 等解决方案。部署时仅需一次打包并用单条 java 命令启动,端口和 Nginx 配置保持不变,运维更简洁。该方案适合资源受限、访问量不高且对隔离要求不强的场景,虽牺牲了故障隔离,但能显著降低内存压力,为小型服务器提供务实的优化路径。

从Demo到生产:Agent为什么需要Durable Execution

随着 AI Agent 从简单问答走向多步骤、长时间运行的企业任务,传统 HTTP 请求模型开始面临状态丢失、重复执行、重试失控、服务重启后任务无法恢复等问题。本文从 Java 后端视角介绍 Durable Execution 的核心思想,分析 Workflow、Event History、Retry、Timeout、Idempotency、Human in the Loop 等关键能力,并结合 Temporal 与 Spring AI 的集成,说明如何将模型调用、Tool Calling、MCP 和传统业务 Service 纳入可恢复、可重试、可审计的执行流程,帮助 Agent 从“能运行”真正走向“可生产”。

MySQL8.0退场之后:Java项目该如何选择8.4LTS与9.7LTS

MySQL 8.0 已于 2026 年 4 月正式进入 EOL,大量仍运行在 8.0 上的 Java 项目需要重新规划数据库版本。与此同时,MySQL 9.7 已成为新的 LTS,因此升级问题不再只是“8.4 还是 9.x”。本文结合官方升级路径,从 MySQL 8.4 与 9.7 的选择、认证插件变化、Connector/J、TLS、Upgrade Checker、SQL 回归、备份和回滚等方面,给出一套适用于 Spring Boot 项目的实际迁移方案。对于存量系统,更稳妥的策略通常是先迁移到 8.4 LTS,在稳定运行后再根据生命周期决定是否继续升级 9.7 LTS。

从CRUD到Agent:Java开发者如何构建企业级AI智能体系统

本文围绕 Java 企业开发从传统 CRUD 向 AI Agent 演进展开,介绍 Spring AI、Tool Calling、RAG、Memory、Workflow 等核心能力,并结合企业真实场景分析 Agent 如何连接现有 Spring Boot 业务系统。文章重点强调,企业 AI 的难点并不只是调用大模型,而在于权限控制、数据治理、操作审计、幂等设计、人工确认以及系统稳定性。未来 Java 开发者不需要抛弃原有技术体系,而是应在熟悉的 Service、数据库和业务架构之上增加智能层,让系统从“执行固定流程”逐步升级为“理解用户目标并主动完成任务”。

Java正在进入下一阶段:2026年值得关注的7个技术变化

2026 年,Java 生态正在迎来新一轮技术升级。从 JDK 26 原生支持 HTTP/3、Virtual Thread 与 Structured Concurrency,到 Project Leyden 推进 AOT Cache,再到 JDK 27 在对象头压缩、垃圾回收、后量子安全和 JFR 脱敏方面的增强,JVM 正变得更高效、更安全。同时,Spring Boot 4.1 加强 gRPC、OpenTelemetry 等生产能力,Spring AI 2.0 则通过 Tool Calling、MCP 和 Agent 将 Java 深度带入 AI 时代。本文系统梳理 2026 年 Java 值得关注的核心技术变化,并给出新项目的技术选型思路。

Spring AI 2.0 如何解决Agent工具选择难题

文章详细讲解了如何通过 Tool Search 将工具目录转变为可检索能力,让模型先发现候选工具,再加载具体 Schema;同时探讨工具索引策略、工具描述设计、权限控制、Memory 与工具循环关系,以及如何通过指标评估优化效果。最终指出,Agent 扩展的关键不是不断增加模型上下文,而是建立“能力目录、能力检索、能力执行”三层治理体系,让工具像数据一样可发现、像接口一样可控、像生产操作一样可审计。

JWT 安全体系设计:全局失效、单点注销与登录防护实践

本文围绕 JWT 在实际项目中的安全短板展开,分析了“无法主动撤销 Token、改密后旧 Token 仍有效、管理员降权失效、登录接口易被爆破”等常见问题,并给出一套工程化解决方案。通过 `authVersion` 实现账号级 Token 全局失效,通过 Redis + SHA-256 黑名单实现单设备注销,通过 Lua 脚本完成账号与 IP 双维度限流,再结合过滤器分层校验,实现从签发、验证到撤销的完整安全闭环。文章同时讨论了 Redis TTL、分布式锁、Redis Cluster hash tag、密钥强校验等细节,展示如何在保留 JWT 无状态优势的同时,补齐其安全缺陷,构建一套可靠的认证体系。

给Codex加上一层边界:我的 AI 能力私有化实践

文章详细介绍了整体架构、Responses API 与 Chat Completions 兼容、SSE 流式响应、图片识别支持,以及公网暴露过程中的安全设计。同时记录了路径白名单、Bearer 鉴权、限流、并发控制、权限收缩和协议兼容等关键细节。通过这套方案,可以在不直接暴露宿主机和 Codex 登录状态的前提下,为个人工具和智能体系统提供受控的 AI 能力接口。

从文章结构到阅读体验:博客自动目录功能的实现

长篇文章缺少目录会增加用户查找信息的成本,影响阅读体验。本文介绍了一种轻量级的文章目录实现方案,通过浏览器原生 API 自动提取正文中的 `h2`、`h3` 标题,为章节生成唯一锚点,并动态构建目录导航。同时结合 `IntersectionObserver` 监听标题进入视口的状态,实现滚动阅读时目录自动高亮。针对固定导航栏遮挡问题,文章还介绍了 `scroll-margin-top` 的优化方式。整个方案无需依赖第三方插件,具有实现简单、性能稳定、扩展性强等特点,适用于博客、技术文档、知识库等内容型网站,能够有效提升长文章的浏览效率和用户阅读体验。