必威电竞|足球世界杯竞猜平台

OpenJDK
來源:互聯網

OpenJDK是Java平臺標準版(Java SE)的免費開源實現,完全自由,開放源碼。它是Sun Microsystems在2006年開始的一項努力的結果,于2009年4月15日正式發布。OpenJDK是Java SE的官方參考實現,自版本7以來一直如此。該軟件只能在i386和AMD64機器上運行。OpenJDK的實現根據GPL-2.0-only許可證進行許可,但有一個鏈接例外。如果沒有GPL鏈接例外,鏈接到Java類庫的組件將受到GPL許可證的條款約束。甲骨文公司在2010年收購Sun Microsystems之后接管了這個專案。

主要功能

OpenJDK做為GPL許可(GPL-licensed)的Java平臺的開源化實現,Sun正式發布它已經六年有余。從發布那一時刻起,Java社區的大眾們就又開始努力學習,以適應這個新的開源代碼基礎(code-base)。

OpenJDK在2013年發展迅速,被著名IT雜志SD Times評選為2013 SD Times100,位于“極大影響力”分類第9位。

特點

Sun發布的OpenJDK只能運行在i386和AMD64機器上。OpenJDK可以運行在系統上,特別是那些基于PowerPC的機器上。為了解決這個問題,發起了IcedTea項目來完成移植。該項目基于Sun的C++解釋程序,為OpenJDK向PowerPC移植構造了一個單獨的解釋程序。后來成為Zero,它是一個真正可移植的“零匯編程序”的版本。想到的,一個純的解釋程序確實要慢于Java實現中常用到的高性能的JIT(Just In 時間)編譯器,但正在努力提高其性能。

版本介紹

最新版本為jdk-11。支持Solaris,Linux, Mac OS X或Windows多種操作系統。

組件和版本發展

OpenJDK項目生成許多重要組件,包括虛擬機(HotSpot)、Java類庫和JAVA編譯器javac)。OpenJDK最初僅基于Java平臺的JDK 7版本。自JDK 10以來,生成Java SE平臺開源參考實現的工作已移交給JDK項目。此長期進行的項目將生成所有未來的JDK特性版本,并將在一個基于時間的嚴格模型下每六個月發運一個特性版本。

IcedTea和軟件發行版

IcedTea項目為了將OpenJDK捆綁到fedora和其他免費Linux發行版中而啟動,它提供了OpenJDK項目中剩下的少數專有部分的自由軟件備用版本。2008年5月,Fedora 9和Ubuntu 8.04發行版本中包含了基于完全自由開放源碼代碼的IcedTea 6。OpenJDK也可用于openSUSE、Red Hat Enterprise Linux和基于Red Hat Enterprise Linux的衍生產品(如centos)。在Android Nougat中,OpenJDK已取代現已停止的Apache Harmony,成為這個移動操作系統的源碼中Java庫。

歷史和社區貢獻

OpenJDK的歷史始于2006年,當時Sun Microsystems宣布Java將成為免費開源軟件。2007年,Sun發布了Java類庫的完整源碼,并承諾用備用實現替換剩余的專有組件。2008年,OpenJDK 6通過了技術兼容性套件(TCK)測試,成為一個完全兼容的Java 6實現。2010年,IBM決定加入Oracle數據庫的OpenJDK項目,而蘋果公司和Oracle宣布了適用于Mac OS X的OpenJDK項目。2011年,思愛普 AG宣布已正式加入OpenJDK項目。OpenJDK獲得外部貢獻的數量還在增長,2018年發布的OpenJDK 11獲得了20%的外部修復,并增加了17個新問題報告(JEP),其中有3個是由社區作出的貢獻。

兼容性和移植性

OpenJDK的兼容性和移植性得到了社區的廣泛支持。例如,Red Hat與Sun簽署了協議,使得fedora、JBoss和OpenJDK項目更緊密結合在一起。Porters小組在OpenJDK中成立,旨在協助將OpenJDK移植到不同的處理器架構和操作系統。此外,微軟與Azul Systems合作創建了Zulu,即適用于Windows Azure云用戶的OpenJDK版本。從2016年4月起,GitHub中出現了微軟Windows的OpenJDK非受支持社區版本,該版本位于項目ojdkbuild中。2020年,針對Itanium平臺上的openvms,已經發布了一個用于OpenJDK 8的移植版本。

參考資料 >

生活家百科家居網