\n\nJava 凭借高性能 JVM 和成熟生态,在 AI 生产落地中展现出卓越成本效益。其代码的高可读性使 AI 辅助编程更安全,且 AI 工具正显著降低企业系统的现代化成本。
译自:In the AI Age, Java is More Relevant Than Ever
作者:Mary Branscombe
Java 强大、可扩展、可靠、成本效益高,并已准备好成为你的下一个 AI 语言,它可以帮助实现关键企业级应用程序的现代化。
Java 是贯穿整个企业级平台的语言:ERP、电子商务后端、分析、物流和业务工作流。围绕 JVM,你已经拥有了数十年的代码、构建流水线、部署实践和运维手册。然而,当谈到 AI 语言时,你的第一反应可能是 Python、Node.js 和 TypeScript,甚至是 Go。
当你正在思考哪些 AI 功能适合添加到这些关键的企业系统中时,在 Python 这样的语言中进行实验可能很有意义。但当到了从实验转向生产的阶段,Java 已经为构建 AI 做好准备——而正在加速全行业开发者效率的 AI 工具现在也已经为 Java 准备就绪。
Java 既是 AI 驱动系统的基石,也是构建 AI 应用程序的一流语言,尤其是在企业规模层面。
Java 已为 AI 准备就绪,AI 也已为 Java 准备就绪
Java 能在企业中长盛不衰的原因之一是 JVM 的高效,以及其周围强大的生态系统。
“当你查看基准测试并对比其他语言运行时,那些运行时(尤其是 Python 和 Node.js)的性能和效率,与 JVM 等运行时在成本效益方面所能提供的表现相去甚远,”微软 Java 首席产品与社区经理 Bruno Borges 表示。
在 AI 领域,这更是一个优势,因为花在运行时上的任何预算,都是无法用于 Token 和 API 调用的预算。高效的 Java 运行时还允许你编写高效、可扩展的智能体:随着智能体在除写代码之外的更多任务中变得有用,这一点将变得更加重要。如果你的企业中运行着成百上千个 AI 智能体,你会希望它们消耗尽可能少的资源。
“既然现在用 AI 编写代码变得如此容易,那么就真的没有理由不使用那些能够提供最佳运行时性能和伟大生态系统的语言了。”
在创建 AI 功能时,你会获得同样的优势,因为现在的 Java 生态系统包含了用于连接大语言模型(LLM)的一流 AI 框架和 SDK。LangChain4j 和 Spring AI 简化了将 AI 模型集成到 Java 应用程序中的过程,并在使用熟悉的 Java 框架时采用 RAG 等强大模式;像 embabel 这样的智能体框架则为 Spring 和 JVM 增加了智能体流。无论是构建聊天机器人、生成图像、摘要文本还是创建搜索服务:Java 已经为生成式 AI 以及开发者已经熟悉的机器学习和大数据工作负载做好了准备。
随着你开始为应用程序添加更多 AI 功能(无论是 MCP 还是大规模事件驱动架构),Java 在集成方面的传统优势变得更加突出。“你需要 AI 的上下文:你需要工具、数据库、MCP 服务器,而 Java 非常适合这些,因为 Java 一直擅长与第三方解决方案集成,”JHipster 的作者、微软 Java 开发者关系团队负责人 Julien Dubois 指出。
他认为,Java 的语言结构以及库和框架的生态系统使其非常适合 AI:“对于开发者来说,在现有应用程序中添加智能功能一点也不困难。”
难于编写,易于阅读
在涉及使用 AI 编程助手时,Java 的显式性和冗长性反而成了一种优势,因为 AI 建议添加到关键、高度优化的企业应用中的 Java 代码更容易被阅读和理解。
Borges 认为,当 AI 智能体完成大部分输入工作时,语言选择应该取决于可读性:“而不是最短、最小的一段代码。”
“AI 编写代码,开发者能够理解和阅读他们的代码,而运行时则在令人惊叹的生态系统支持下,为该特定代码运行出最佳性能。”
Java 的普及以及对少数框架的汇聚,为大语言模型提供了海量的开源 Java 代码进行学习。Dubois 指出,GitHub Copilot、Claude Code 和 Cursor 等最新版本的 AI 编程工具非常擅长编写 Java 代码。“如果你是一名 Java 开发者,你可能会使用 Spring Boot、Hibernate 或 Elasticsearch 等框架:由于拥有可用的训练数据,GitHub Copilot 会非常出色地为你编写这些代码。”
这不仅对添加 AI 功能有用。高效的编程助手与开发者能快速理解和审查的代码相结合,使得升级那些你想更新并迁移到云端的旧版 Java 应用程序的成本大大降低。“大型企业有许多旧的 Java 应用程序,由于需要大量预算且开发者对这些项目的积极性较低,更新这些程序一直很复杂。AI 可以大幅减少这种工作量,并使这些项目成为可能,”Dubois 指出。
持续现代化即将到来
仅仅分析一个可能在数百万行代码、数百个类中包含数十个弃用 API 的遗留 Java 代码库就可能需要数月时间。AI 工具可以映射依赖关系并发现哪些已经过时,将应用程序迁移到较新的框架和运行时版本,然后为重构单体代码为微服务或无服务器模式的代码生成测试。
事实上,它是如此有效,以至于你可以将现代化作为软件开发生命周期的常规部分,而不是一个痛苦的、一直推迟到系统崩溃边缘的性项目,Borges 认为。“这在以前从未发生过,因为现代化的成本如此之高,而投资回报率至少是不可预测的。”
他说,现在 AI 智能体已经让一些微软客户实现了这一目标:“他们正在采用 AI,通过使用 AI 智能体,不断跟上应用程序中所有工具、服务、库、框架、语言和运行时的变化。”
这些早期采用者正在一种新兴架构中抢占先机,在这种架构中,AI 模型成为生产系统的智能层,而 Java 则提供执行层和集成层:Java 的传统优势之一在 AI 时代被证明同样有用。凭借 Java 运行时的效率,这甚至可能释放出一些预算,供你进行进一步的 AI 实验。
如果你想看看这在实践中是什么样子的,微软的 JDConf 汇集了 Java 从业者、开源维护者和工具团队,共同探讨 Java 中的 AI 如何为生产环境做好准备。全 工智能