IT之家4月7日訊息 外媒 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 的一些版本。
IT之家獲悉,微軟透過 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。我們將在未來幾個月內提供更多更新。
常見問題解答Java 11 是在 2018 年釋出的。為什麼這些二進位制檔案是預覽版?
雖然這個發行版是基於 OpenJDK 11.0.10 的 GA 程式碼,但這次釋出的 OpenJDK 的 Microsoft Build 是預覽版,因為我們希望在我們釋出生產就緒的常規版本之前,讓我客戶和使用者提供包裝和安裝體驗等方面的反饋。
你們將支援 Java 11 多長時間?
微軟將至少支援 Java 11 到 2024 年。
你們會發布其他版本的 Java 嗎?
我們計劃在今年年底前釋出 OpenJDK 17 二進位制檔案,只要 Java 17 最終確定。
你們會支援 Java 8 嗎?
在提供 Java 8 作為目標執行時選項的 Azure 管理服務上,微軟將支援 Eclipse Adoptium(前身為 AdoptOpenJDK)的 Java 8 二進位制檔案。對於所有其他 Azure 服務,客戶可以帶來他們選擇的 Java 8 的 JDK,例如 Azul Systems 的 Zulu。然而,微軟建議客戶遷移到 Java 11 及更高版本,以受益於若干增強功能,這些增強功能可以轉化為雲部署中的成本節約和加速開發人員的生產力。我們相信這一過程是值得的,並提供了指導,以幫助簡化這一過渡。
這些二進位制檔案是如何獲得許可的?
帶有 Classpath Exception 的通用公共許可證 2.0 (GPLv2+CE)
提供反饋
請將您的意見、想法和創意傳送給我們,以幫助我們改進。請訪問我們的 GitHub 頁面,向我們傳送您的反饋。