外媒 onMSFT 报道,近 25 年来,Java 一直是一股不可忽视的力量。它带来了 “一次编写,在任何地方运行”的承诺,其想法是允许开发人员将其应用程序编译成字节码,可以在任何支持其 Java 虚拟机的平台上运行,有时也被称为 Runtime 运行时环境。
微软博客近期宣布 OpenJDK 的 Microsoft Build 预览版,这是 OpenJDK 的新的免费长期支持(LTS)发行版,它是开源的,任何人都可以免费部署在任何地方。
它包括基于 OpenJDK 11.0.10 9 的 Java 11 的二进制文件,可在 macOS、Linux 和 Windows 的 x64 服务器和桌面环境中使用。微软还发布了基于最新 OpenJDK 16 36 版本的 Java 16 for Windows on ARM 的新的早期访问二进制文件。
访问 microsoft.com/openjdk 下载软件包和安装程序
数十亿的设备和计算机都在运行 Java。虽然它的使用最近有所下降,但在 2000 年初,你还需要在电脑上安装部署 Java 虚拟机的应用程序。快进到 2021 年,人们似乎对该平台重新产生了兴趣。微软本身在他们的 Azure 云背后运行着各种各样的 Java 驱动系统。事实上,他们的一些最大的 IP 都是由 Java 支持的,值得一提的几个是 LinkedIn、Yammer 和 Minecraft 的一些版本。
微软通过 OpenJDK 支持这个开发平台,对于过去几年、几十年来在这个平台上投入大量资金的开发者来说影响是巨大的,它将在不久的将来成为 Azure 上 Java 的默认发行版,而且这个过渡有望实现无缝衔接。
外媒称,从开发的角度来看,我对 Java 的体验并不顺利,虽然不一定是与编写代码直接相关,但几个月前,我在 Windows 服务器上安装并运行 SonarQube 的过程中遇到了困难。这是一个很多开发者都熟悉的工具,因为它用于扫描代码的质量。在部署应用程序时,我已经被 . NET 运行时的无缝和自动部署宠坏了,而建立允许 SonarQube 运行的环境的过程是一个小小的挑战。希望微软在 Java 背后投下他们的砝码,对 Java 驱动的应用程序的开发者和消费者来说,意味着更好、更顺畅的体验。
微软为 Java 11 构建的 OpenJDK 二进制文件基于 OpenJDK 源代码,遵循 Eclipse Adoptium 项目使用的相同构建脚本,并根据 Eclipse Adoptium 质量保证套件进行测试(包括 OpenJDK 项目测试)。微软的 Java 11 二进制文件已经通过了 Java 11 的 Java 技术兼容性工具包(TCK),该工具包用于验证与 Java 11 规范的兼容性。Microsoft Build of OpenJDK 是 Java 生态系统中任何其他 OpenJDK 发行版的简单替换。
下面是微软的更多介绍:
对 OpenJDK 的贡献从小做起,因为我们了解了这个过程以及如何以有意义的方式参与。在过去的 18 个月里,我们贡献了 50 多个补丁,涵盖了 macOS 打包、构建和基础架构、GC 修复和 Windows 的增强功能等领域。我们的主要贡献之一是 JEP 388 - 在 Windows ARM 设备(如 Surface Pro X)上运行 Java 的 Windows/AArch64 端口。
2020 年,我们为这些新平台发布了 OpenJDK 16 的早期访问构建。现在,我们很高兴能够继续在这项工作的基础上,为 x64 平台制作基于 OpenJDK 11 的二进制文件,覆盖三大操作系统,并与 Java 社区和 Microsoft Azure 客户分享这项工作。
Microsoft Build of OpenJDK 11 二进制文件可能包含我们认为对客户和内部用户重要的回溯修复和增强功能。其中一些可能尚未正式向上游回溯,并在我们的发布说明中明确标明。这使我们能够更快地进行改进和修复,同时我们也会同步进行这些更改的上游更新。更新将是免费的,每个 Java 开发者都可以在任何地方部署。
在过去的几年里,我们与 Azul Systems 和其他供应商合作,为我们的客户、用户和我们自己的业务提供高质量的 Java 支持。微软对所提供的惊人援助表示感谢,我们致力于通过 OpenJDK 项目和 Eclipse Adoptium 工作组继续合作。
微软依靠 Java 技术为自己的各种内部系统、应用程序和工作负载提供支持,以实现著名的公共服务和产品,以及为 Azure 基础设施提供动力的大量关键任务系统。我们一直致力于优化我们基于 Java 的系统,并确保供应链的安全,以使我们的客户和用户受益。
微软内部部署了超过 50 万台 Java 虚拟机 (JVM)-- 不包括所有的 Azure 服务和客户工作负载 -- 需求从后端微服务到大数据系统、消息中介、事件流服务和游戏服务器。这些 JVM 中,已经有超过 14 万个基于 OpenJDK 的微软 Build。
微软在整个 Azure 的关键任务中使用了各种开源 Java 项目,以支持其全球基础设施,以及大数据和日志分析系统。LinkedIn 和 Yammer 的后端服务几乎都是在分布式云原生 Java 微服务上实现的。Minecraft Java 版也仍然无处不在,拥有一个重要的 mods 生态系统和一个热情的 moder 社区,我们利用 Java 来运行 Minecraft Realms 背后的服务器。
Azure 通过 Azure Spring Cloud、Azure App Service、Azure Functions 和 Azure Kubernetes Service 看到了 Java 工作负载的显著增长。未来,一旦我们开始在整个 Azure 上推出使用 Microsoft Build of OpenJDK 的新 JVM,我们将寻找机会为这些服务上基于 Java 的工作负载推荐更好的优化。
今年晚些时候,OpenJDK 的 Microsoft Build 将成为整个 Azure 管理的服务中 Java 11 的默认发行版。客户将不必执行任何维护任务,因为过渡将通过应用部署实现平稳和透明。对于所有其他 Azure 服务,客户可以带来他们所选择的 JDK,包括 OpenJDK 的 Microsoft Build。我们将在未来几个月内提供更多更新。