Blog chevron_right 未分类

Java 在 AI 开发领域超越 Python 的 3 个理由

3 Reasons Java Could Overtake Python for AI Development

当谈到开发 AI 应用程序时,每个人都会想到 Python,这得益于 Python 丰富的 AI 库,以及人们对 Java 不适合进行 AI 开发的误解。实际上,几乎所有 AI 库都可以用 Java 来交互。此外,卓越的可扩展性、多线程编码和即时编译功能都使 Java 成为开发 AI 的绝佳语言。在这篇博文中,Azul 副首席技术官兼 Java Champion 称号获得者 Simon Ritter 探讨了 Java 是否适合开发 AI 应用程序。 

毫无疑问,当今 IT 领域最热门的领域是人工智能 (AI)。过去几年,AI 的能力显著提升,相关投资大幅增长,并几乎已融入我们周围的方方面面。 

说到开发 AI 应用程序的开发语言,每个人都会想到 Python。Python 拥有众多库可供选择,包括 TensorFlow、PyTorch、Hugging Faces 和 LangChain,以及 OpenAI 和 Anthropic 的 API。Python 在 AI 开发中广受欢迎的原因与 Java 在企业应用程序中如此受欢迎的原因大致相同。Python 语法易于阅读,因此代码共享非常简单。它的易用性使其在 AI 研究人员中非常受欢迎,因为他们通常更熟悉数学概念而不是编程。 

与此同时,人们对 Java 与上述库和框架集成的能力仍然存在误解。 

让我们来看看认知与现实之间的差异。 

基于 Java 与 AI 库交互的方式 

这些流行的 AI 库和框架都有基于 Java 的交互方式,如下表所示。

AI 库或框架 如何与 Java 结合使用
TensorFlow Java API(来自 Google)REST 端点支持 
PyTorch Java API(来自 Meta) 
Hugging Faces  Deep Java 库 REST 端点 
LangChain  LangChain4J
OpenAI SpringAI simple-openai REST 端点 
Anthropic Java API(来自 Anthropic)REST 端点 

从表中可以看出,REST 端点的使用非常广泛。我最近参加了一个会议,观看了 Pivotal 的 Josh Long 关于 Spring AI 的演讲。他提出了一个很好的观点:如今,我们大部分的 AI 操作都是将文本发送到 REST 端点。多年来,我们一直在 Java 中这样做,并且我们完全有能力高效地完成这项工作。 

Java 平台的另一个关键方面是 Panama 项目,它旨在简化 Java 和非 Java API 之间的交互。Panama 项目提供了一个更简单的 Java 原生接口 (JNI) 替代方案。外部函数和内存 API 现在使得将非 Java 库集成到 Java 应用程序中变得非常简单。 

Java 的性能和可扩展性优势 

虽然 Python 是开发小型应用程序的绝佳语言,但 Java 在性能和可扩展性方面确实更胜一筹。JVM 能够扩展到互联网规模的工作负载,这一点已得到充分验证,也是该平台受欢迎的主要原因。 

例如,Java 从一开始便支持多线程的概念,并将其融入到语言中。在其 30 年的发展历程中,多线程编程已变得更加强大和简单。最近引入的是虚拟线程,以及结构化并发和作用域值。由于全局解释器锁 (GIL),Python 本质上是单线程的。GIL 阻止多个线程同时执行 Python 代码。Python 提供了两个模块来尝试改进这一点:线程模块(仍然受 GIL 性能限制)和多线程模块(通过生成单独的 Python 进程来处理并行执行,从而避免 GIL 问题)。多处理模块在可扩展性方面存在严重限制,并且对于开发协作式数据共享代码而言面临着巨大的挑战。 

Python 的另一个性能问题是,如果使用最流行的 CPython 运行时,它是一种解释型语言。虽然 Java 也是一种解释型语言,但 JVM 使用即时 (JIT) 编译。JVM 会识别常用方法,并在应用程序运行时将其编译为优化的本机指令。同样,经过超过 25 年的发展,JVM JIT 编译可以带来比仅使用解释器高出一个数量级的性能提升。Azul 在我们的 Zing JVM 中包含了一个不同的 JIT 编译器,可以进一步提升性能(例如,Kafka 每秒处理的事务数比标准 OpenJDK 实现多 43%)。

Java 用户希望使用 Java 开发 AI

所有这些都表明,Java 是引领新一波 AI 应用程序开发浪潮的理想选择。我们已经看到,随着企业需要将其 AI 工作负载扩展到更多用户,他们希望 Java 能够以简单且经济高效的方式实现这一目标。 

有证据表明,在《2025 年 Java 现状调查与报告》中,50% 的参与者表示其组织使用 Java 开发 AI 应用程序。虽然这项调查主要针对 Java 开发人员,但它清楚地表明,Java 正被用于实际的 AI 应用程序开发。

毫无疑问,Python 仍将是 AI 开发的主要语言,但 Java 在企业 AI 部署领域超越 Python 也指日可待。 

结语 

Java 将继续成为企业关键业务应用程序的支柱。Java 的长盛不衰和持续增长很大程度上得益于其不断创新的能力,这也使其在 Oracle Java 替代方案、应用程序性能、云成本优化和 DevOps 生产力等日益受关注的领域中占据关键地位。Java 在服务工程师及其组织方面继续保持领先地位,并在 AI 领域也逐渐占据领先地位。

blue-bg-cta

Developing AI?

Azul can help you with Java!