4月7日消息 外媒 onMSFT 報道,近 25 年來,Java 一直是一股不可忽視的力量。它帶來了 “一次編寫,在任何地方運(yùn)行”的承諾,其想法是允許開發(fā)人員將其應(yīng)用程序編譯成字節(jié)碼,可以在任何支持其 Java 虛擬機(jī)的平臺上運(yùn)行,有時也被稱為 Runtime 運(yùn)行時環(huán)境。
微軟博客今天宣布 OpenJDK 的 Microsoft Build 預(yù)覽版,這是 OpenJDK 的新的免費(fèi)長期支持(LTS)發(fā)行版,它是開源的,任何人都可以免費(fèi)部署在任何地方。它包括基于 OpenJDK 11.0.10+9 的 Java 11 的二進(jìn)制文件,可在 macOS、Linux 和 Windows 的 x64 服務(wù)器和桌面環(huán)境中使用。微軟還發(fā)布了基于最新 OpenJDK 16+36 版本的 Java 16 for Windows on ARM 的新的早期訪問二進(jìn)制文件。
訪問 microsoft.com/openjdk 下載軟件包和安裝程序。
數(shù)十億的設(shè)備和計算機(jī)都在運(yùn)行 Java。雖然它的使用最近有所下降,但在 2000 年初,你還需要在電腦上安裝部署 Java 虛擬機(jī)的應(yīng)用程序??爝M(jìn)到 2021 年,人們似乎對該平臺重新產(chǎn)生了興趣。微軟本身在他們的 Azure 云背后運(yùn)行著各種各樣的 Java 驅(qū)動系統(tǒng)。事實上,他們的一些最大的 IP 都是由 Java 支持的,值得一提的幾個是 LinkedIn、Yammer 和 Minecraft 的一些版本。
IT之家獲悉,微軟通過 OpenJDK 支持這個開發(fā)平臺,對于過去幾年、幾十年來在這個平臺上投入大量資金的開發(fā)者來說影響是巨大的,它將在不久的將來成為 Azure 上 Java 的默認(rèn)發(fā)行版,而且這個過渡有望實現(xiàn)無縫銜接。
外媒稱,從開發(fā)的角度來看,我對 Java 的體驗并不順利,雖然不一定是與編寫代碼直接相關(guān),但幾個月前,我在 Windows 服務(wù)器上安裝并運(yùn)行 SonarQube 的過程中遇到了困難。這是一個很多開發(fā)者都熟悉的工具,因為它用于掃描代碼的質(zhì)量。在部署應(yīng)用程序時,我已經(jīng)被 . NET 運(yùn)行時的無縫和自動部署寵壞了,而建立允許 SonarQube 運(yùn)行的環(huán)境的過程是一個小小的挑戰(zhàn)。希望微軟在 Java 背后投下他們的砝碼,對 Java 驅(qū)動的應(yīng)用程序的開發(fā)者和消費(fèi)者來說,意味著更好、更順暢的體驗。
微軟為 Java 11 構(gòu)建的 OpenJDK 二進(jìn)制文件基于 OpenJDK 源代碼,遵循 Eclipse Adoptium 項目使用的相同構(gòu)建腳本,并根據(jù) Eclipse Adoptium 質(zhì)量保證套件進(jìn)行測試(包括 OpenJDK 項目測試)。微軟的 Java 11 二進(jìn)制文件已經(jīng)通過了 Java 11 的 Java 技術(shù)兼容性工具包(TCK),該工具包用于驗證與 Java 11 規(guī)范的兼容性。Microsoft Build of OpenJDK 是 Java 生態(tài)系統(tǒng)中任何其他 OpenJDK 發(fā)行版的簡單替換。
下面是微軟的更多介紹:
對 OpenJDK 的貢獻(xiàn)從小做起,因為我們了解了這個過程以及如何以有意義的方式參與。在過去的 18 個月里,我們貢獻(xiàn)了 50 多個補(bǔ)丁,涵蓋了 macOS 打包、構(gòu)建和基礎(chǔ)架構(gòu)、GC 修復(fù)和 Windows 的增強(qiáng)功能等領(lǐng)域。我們的主要貢獻(xiàn)之一是 JEP 388 - 在 Windows ARM 設(shè)備(如 Surface Pro X)上運(yùn)行 Java 的 Windows/AArch64 端口。2020 年,我們?yōu)檫@些新平臺發(fā)布了 OpenJDK 16 的早期訪問構(gòu)建。現(xiàn)在,我們很高興能夠繼續(xù)在這項工作的基礎(chǔ)上,為 x64 平臺制作基于 OpenJDK 11 的二進(jìn)制文件,覆蓋三大操作系統(tǒng),并與 Java 社區(qū)和 Microsoft Azure 客戶分享這項工作。
Microsoft Build of OpenJDK 11 二進(jìn)制文件可能包含我們認(rèn)為對客戶和內(nèi)部用戶重要的回溯修復(fù)和增強(qiáng)功能。其中一些可能尚未正式向上游回溯,并在我們的發(fā)布說明中明確標(biāo)明。這使我們能夠更快地進(jìn)行改進(jìn)和修復(fù),同時我們也會同步進(jìn)行這些更改的上游更新。更新將是免費(fèi)的,每個 Java 開發(fā)者都可以在任何地方部署。
在過去的幾年里,我們與 Azul Systems 和其他供應(yīng)商合作,為我們的客戶、用戶和我們自己的業(yè)務(wù)提供高質(zhì)量的 Java 支持。微軟對所提供的驚人援助表示感謝,我們致力于通過 OpenJDK 項目和 Eclipse Adoptium 工作組繼續(xù)合作。
微軟依靠 Java 技術(shù)為自己的各種內(nèi)部系統(tǒng)、應(yīng)用程序和工作負(fù)載提供支持,以實現(xiàn)著名的公共服務(wù)和產(chǎn)品,以及為 Azure 基礎(chǔ)設(shè)施提供動力的大量關(guān)鍵任務(wù)系統(tǒng)。我們一直致力于優(yōu)化我們基于 Java 的系統(tǒng),并確保供應(yīng)鏈的安全,以使我們的客戶和用戶受益。
微軟內(nèi)部部署了超過 50 萬臺 Java 虛擬機(jī) (JVM)-- 不包括所有的 Azure 服務(wù)和客戶工作負(fù)載 -- 需求從后端微服務(wù)到大數(shù)據(jù)系統(tǒng)、消息中介、事件流服務(wù)和游戲服務(wù)器。這些 JVM 中,已經(jīng)有超過 14 萬個基于 OpenJDK 的微軟 Build。
微軟在整個 Azure 的關(guān)鍵任務(wù)中使用了各種開源 Java 項目,以支持其全球基礎(chǔ)設(shè)施,以及大數(shù)據(jù)和日志分析系統(tǒng)。LinkedIn 和 Yammer 的后端服務(wù)幾乎都是在分布式云原生 Java 微服務(wù)上實現(xiàn)的。Minecraft Java 版也仍然無處不在,擁有一個重要的 mods 生態(tài)系統(tǒng)和一個熱情的 moder 社區(qū),我們利用 Java 來運(yùn)行 Minecraft Realms 背后的服務(wù)器。
Azure 通過 Azure Spring Cloud、Azure App Service、Azure Functions 和 Azure Kubernetes Service 看到了 Java 工作負(fù)載的顯著增長。未來,一旦我們開始在整個 Azure 上推出使用 Microsoft Build of OpenJDK 的新 JVM,我們將尋找機(jī)會為這些服務(wù)上基于 Java 的工作負(fù)載推薦更好的優(yōu)化。
今年晚些時候,OpenJDK 的 Microsoft Build 將成為整個 Azure 管理的服務(wù)中 Java 11 的默認(rèn)發(fā)行版??蛻魧⒉槐貓?zhí)行任何維護(hù)任務(wù),因為過渡將通過應(yīng)用部署實現(xiàn)平穩(wěn)和透明。對于所有其他 Azure 服務(wù),客戶可以帶來他們所選擇的 JDK,包括 OpenJDK 的 Microsoft Build。我們將在未來幾個月內(nèi)提供更多更新。
常見問題解答
Java 11 是在 2018 年發(fā)布的。為什么這些二進(jìn)制文件是預(yù)覽版?
雖然這個發(fā)行版是基于 OpenJDK 11.0.10 的 GA 代碼,但這次發(fā)布的 OpenJDK 的 Microsoft Build 是預(yù)覽版,因為我們希望在我們發(fā)布生產(chǎn)就緒的常規(guī)版本之前,讓客戶和用戶提供包裝和安裝體驗等方面的反饋。
你們將支持 Java 11 多長時間?
微軟將至少支持 Java 11 到 2024 年。
你們會發(fā)布其他版本的 Java 嗎?
我們計劃在今年年底前發(fā)布 OpenJDK 17 二進(jìn)制文件,只要 Java 17 最終確定。
你們會支持 Java 8 嗎?
在提供 Java 8 作為目標(biāo)運(yùn)行時選項的 Azure 管理服務(wù)上,微軟將支持 Eclipse Adoptium(前身為 AdoptOpenJDK)的 Java 8 二進(jìn)制文件。對于所有其他 Azure 服務(wù),客戶可以帶來他們選擇的 Java 8 的 JDK,例如 Azul Systems 的 Zulu。然而,微軟建議客戶遷移到 Java 11 及更高版本,以受益于若干增強(qiáng)功能,這些增強(qiáng)功能可以轉(zhuǎn)化為云部署中的成本節(jié)約和加速開發(fā)人員的生產(chǎn)力。我們相信這一過程是值得的,并提供了指導(dǎo),以幫助簡化這一過渡。
這些二進(jìn)制文件是如何獲得許可的?
帶有 Classpath Exception 的通用公共許可證 2.0 (GPLv2+CE)
提供反饋
請將您的意見、想法和創(chuàng)意發(fā)送給我們,以幫助我們改進(jìn)。請訪問我們的 GitHub 頁面,向我們發(fā)送您的反饋。