Java月度技术综述:2026年5月刊
四月转瞬即逝,技术发展的步伐从未放缓,新闻与知识的涌现也未曾停歇。
本月,我们邀请到 Emily Bache,与大家分享她在 AI 智能体与测试驱动开发方面的独到见解。Java 生态依旧繁忙,不仅有新鲜的更新和实用的技巧,Kotlin 也紧随其后,持续向前。AI 板块一如既往,汇集了许多值得关注的内容。
此外,你还能在文中找到近期值得规划的活动,以及一些激发思考的新观点。
特色内容
Emily Bache
Emily Bache 是一位独立顾问、YouTuber、作家和技术教练,在 Java 及其他编程语言和工具方面拥有超过 25 年的经验。她致力于培训和指导开发者实践敏捷开发,如重构和测试驱动开发(TDD)。Emily 撰写过两本关于软件开发的书籍,并参与了多本著作的编写。她创立了 Samman 技术教练协会(Samman Technical Coaching Society),旨在推广卓越技术并支持全球的技术教练。
很高兴能向大家推荐四月出现的一些有趣内容。目前席卷整个行业的一大变革是 AI 编码智能体的应用,许多人正使用它们来取代手动编写代码。掌握的一项最重要的新技能是为你的 AI 工具设计“测试平台”(harness)。本月,Birgitta Böckeler 发布了目前我所见过的关于什么是“测试平台”及其心智模型的最佳参考指南。Chris Parsons 也发布了一份详尽的指南,题为我如何使用 AI 进行编程,对于希望创建自己的测试平台并指导他人进行同样实践的资深开发者来说,这是一份非常棒的资源。
作为对比,我还想重点推荐 Michael Taggart 关于他使用 AI 经验的内省式报告。他在文中探讨了自己对于使用这些工具的内心挣扎。Drew Breunig 在一篇文章中提出了一个关于 AI 辅助编码的有趣隐喻——我们正面临构建“温彻斯特神秘屋”(Winchester Mystery House)的风险。阅读完该文后,建议听听 Kevlin Henney 的演讲成为人机回路中的人类,他审视了我们依然需要的工程技能——这些技能或许能防止 Drew 所描述的那种情况发生。
我对测试驱动开发有着浓厚的兴趣,作为一名技术教练,这也是我教学中的重要组成部分。我撰写了一份关于当今 TDD 是什么样子的初步评估,基于我对几位深信不疑且都在使用智能体 AI 的实践者的采访。对于那些想看我实际编码演示的朋友,我准备了一个关于六边形架构中出站端口的窄集成测试的 Kotlin 演示视频。
Java 新闻
了解已发布的内容并追踪未来动向:
- Java 新闻汇总 1, 2, 3, 4
- 简报:Java 26 现已可用 | JDK 27 前瞻
- 质量推广预警 —— JDK 27:移除过时的翻译资源
- 更新你的 JDK,阅读更多代码,并与用户交流:VoxxedDays 阿姆斯特丹访谈 (#93)
Java 教程与技巧
收下这些锦囊:
- 分析崩溃的 JVM —— Inside Java 新闻播客 #109
- Oracle 的 Java 验证组合与 JavaFX:它究竟意味着什么
- 我讨厌 Java 的 10 件事,作者:Adele Carpenter
- AI 会毁掉 Java 开源吗?—— Andres Almiray | The Marco Show
- Java 26:你必须了解的更新
- Java 与生成式 AI:使用 Embabel 构建 JVM 智能体,作者:Rod Johnson(Spring 创建者)
- A Bootiful Podcast:Java 开发者倡导者 Ana-Maria Mihalceanu
- Java 的内存占用真的太高了吗?让我们看看事实(JEPs)
- Java 中的线程安全原生内存:VarHandle 访问模式详解
- 第 54 期 “JDK 26 如何提升 G1 的吞吐量” [AtA]
- 必须避免 final 字段变异 —— Inside Java 新闻播客 #110
- JVM 如何优化泛型代码
- Enum 和 Map 序列化的奇案
- 避免 final 字段变异
Kotlin 角落
- Kotlin 与 Java 对抗 —— 第一部分 —— 生态系统
- JetBrains Kotlin 专业认证 —— 现已登陆 LinkedIn Learning
- 为 Spring AI 引入 Koog 集成:为你的智能体提供更智能的编排
- 使用 Koog 在 Java 中进行领域建模以实现可靠的 AI 智能体
AI
抛开炒作,测试工具,提升效率:
- 我们如何通过连接生态系统中已有的点来构建 Java AI 智能体
- AI 智能体的状态延续:为什么传输层现在很重要
- A Bootiful Podcast:Mark Kropf 谈 AI 编排
- Embabel 工具与 MCP 服务器:为你的 Java AI 智能体注入动力
- 对抗性 AI:理解现代 AI 系统面临的威胁
- 为什么 Java 开发者过度信任 AI 的依赖项建议
- GitHub 智能体工作流
- ACP Java SDK:在 Java 中构建 IDE 智能体
- Spring AI 智能体模式(第 7 部分):Session API —— 具有上下文压缩功能的事件溯源短期记忆
- 超越 RAG:使用 Spring Boot 构建具备上下文感知能力的 AI 系统
- Spring AI 智能体模式(第 6 部分):AutoMemoryTools —— 跨会话的持久化智能体记忆
- 使用 AI 智能体、子智能体、技能和 MCP 的 5 个最佳实践
- Deepfakes、虚假信息和 AI 内容正在接管互联网
- Java 世界中的 MCP:为 LLM 集成引入架构策略
语言、框架、库与技术
探索新技术,重温旧工具:
- 本周 Spring 动态 1, 2, 3, 4
- 文章:超越 RAG:使用 Spring Boot 构建具备上下文感知能力的 AI 系统
- 关于 Quarkus 的六个半荒谬玩法
- Spring 团队谈 Spring Framework 7 与 Spring Boot 4
- A Bootiful Podcast:传奇人物 Craig Walls
- 默认启用无反射 Jackson 序列化
- 理解性能
- A Bootiful Podcast:Venkat Subramaniam 博士与 James Ward 畅谈智能 Kotlin 及更多内容
- Java Docker 官方镜像之路:Azul Zulu 的故事
- Spring 调试器新功能:点击哪里可以解密 Spring Boot 的魔力?
会议与活动
线上线下共聚一堂:
- JAX —— 德国美因茨或线上,5 月 4 日至 8 日
- Devoxx UK —— 英国伦敦,5 月 6 日至 7 日;JetBrains 将在现场设有展位。欢迎聆听我们的演讲嘉宾:Marit van Dijk、Cheuk Ting Ho 和 Simon Vergauwen。届时将首映 Spring 纪录片,随后由 Josh Long、Steve Poole 和 Marit van Dijk 参与座谈。
- GeeCon —— 波兰克拉科夫,5 月 14 日至 15 日;Marit van Dijk 将发表演讲并主持一场 Java 座谈会,讨论 2026 年 Java 最令他们兴奋的地方。
- JAlba —— 苏格兰爱丁堡,5 月 14 日至 16 日
- JNation Conference —— 葡萄牙科英布拉,5 月 26 日至 27 日;JetBrains 的 Anton Arhipov 和 Marit van Dijk 将担任演讲嘉宾。
- JCON Slovenia —— 斯洛文尼亚波尔托罗日,5 月 27 日至 29 日
文化与社区
你对这些话题有何看法?
最后……
文章结束前还有最后一件事,千万别错过!
- 在 Kotlin 中使用 Spring Data JPA
- 在 Kotlin 中使用 Spring Data JDBC
- 加速 JetBrains IDE 中的交互式变基(Interactive Rebase)
- 从 Java 到 Wayland:一个像素的旅程
今天的分享就到这里!我们一直在收集下一期《Java Annotated Monthly》的素材,请在 5 月 20 日之前通过 电子邮件 或 X 发送你的建议。别忘了查看我们的往期 JAM 存档,补看你可能错过的文章!