99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenJDK和Oracle JDK的一些區(qū)別

汽車玩家 ? 來源:今日頭條 ? 作者:胖虎讀書 ? 2020-04-12 19:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

OpenJDK是Sun在2006年末把Java開源而形成的項(xiàng)目,這里的“開源”是通常意義上的源碼開放形式,即源碼是可被復(fù)用的,例如IcedTea、UltraViolet都是從OpenJDK源碼衍生出的發(fā)行版。

Oracle JDK采用了商業(yè)實(shí)現(xiàn),而OpenJDK使用的是開源的FreeType。

當(dāng)然,“相同”是建立在兩者共有的組件基礎(chǔ)上的,Oracle JDK中還會存在一些Open JDK沒有的、商用閉源的功能。

例如從JRockit移植改造而來的Java Flight Recorder,預(yù)計以后JRockit的MissionControl移植到HotSpot之后,也會以O(shè)racle JDK專有、閉源的形式提供。

Oracle的項(xiàng)目發(fā)布經(jīng)理Joe Darcy在OSCON 2011上對兩者關(guān)系的介紹也證實(shí)了OpenJDK 7和Oracle JDK 7在程序上是非常接近的,兩者共用了大量相同的代碼.。

如下圖,注意圖中提示了兩者共同代碼的占比要遠(yuǎn)高于圖形上看到的比例,所以我們編譯的OpenJDK,基本上可以認(rèn)為性能、功能和執(zhí)行邏輯上都和官方的Oracle JDK是一致的。

OpenJDK和Oracle JDK的一些區(qū)別

在大多數(shù)Linux發(fā)行版本里,內(nèi)置或者通過軟件源安裝的JDK,都是安裝的OpenJDK。

什么是OpenJDK?

歷史上的原因是,OpenJDK是JDK的開放源碼版本,以GPL協(xié)議的形式發(fā)布。

開源協(xié)議參考: 軟件開發(fā)中的開源協(xié)議詳解

在JDK7的時候,OpenJDK已經(jīng)成為JDK7的主干開發(fā)版,SUN JDK7是在OpenJDK7的 基礎(chǔ)上發(fā)布的,其大部分源碼都相同,只有少部分源碼被替換掉。 使用JRL(Java Research License,Java研究授權(quán)協(xié)議)發(fā)布。

至于OpenJDK6則更是有其復(fù)雜的一面,首先是OpenJDK6是JDK7的一個分支,并且盡量去除Java SE7的新特性,使其盡量的符合Java6的標(biāo)準(zhǔn)。

JDK和OpenJDK的區(qū)別

1.授權(quán)協(xié)議的不同

OpenJDK采用GPL V2協(xié)議發(fā)布,而JDK則采用JRL協(xié)議發(fā)布。兩個協(xié)議雖然都是開放源代碼的,但是在使用上的不同在于GPL V2允許在商業(yè)上使用, 而JRL只允許個人研究使用。

2.OpenJDK只包含最精簡的JDK

OpenJDK不包含其他的軟件包,比如Rhino Java DB JAXP……,并且可以分離的軟件包也都是盡量的分離,但是這大多數(shù)都是自由軟件,你可以自己下載加入。

3.OpenJDK源代碼不完整

這個很容易想到,在采用GPL協(xié)議的OpenJDK中,SUN JDK的一部分源代碼因?yàn)楫a(chǎn)權(quán)的問題無法開放OpenJDK使用,其中最主要的部分就是JMX中的可選元件SNMP部分的代碼。

因此這些不能開放的源代碼將它作成plug,以供OpenJDK編譯時使用,你也可以選擇不要使用plug。

而Icedtea則為這些不完整的部分開發(fā)了相同功能的源代碼(OpenJDK6),促使OpenJDK更加完整。

4.OpenJDK和IcedTea的關(guān)系

IcedTea項(xiàng)目最初是由于OpenJDK不完整(因產(chǎn)權(quán) 而造成的障礙)而創(chuàng)立的,社區(qū)需要一個完整的開源工具鏈及代碼庫。

IcedTea長期以來一直是OpenJDK的一套補(bǔ)丁,正如剛才我所說到的,它有一個 基于“./configure”的不同的構(gòu)建系統(tǒng)。

在OpenJDK中,我們已經(jīng)替換了產(chǎn)權(quán)代碼(encumbered code),因此不再有障礙了。 正因?yàn)槲覀兊呐?,IcedTea項(xiàng)目已經(jīng)減少了使用補(bǔ)丁的數(shù)量。

IcedTea中看上去不錯的一點(diǎn)是,它的 configure腳本使得在多種不同的模式下構(gòu)建OpenJDK變得很容易,比如使用Zero Assembler Port在非x86/sparc芯片上來支持編譯等等。

IcedTea提供的一大塊內(nèi)容是plugin/java-web-start基礎(chǔ)架構(gòu)。

5.部分源代碼用開源代碼替換

由于產(chǎn)權(quán)的問題,很多是SUN JDK的源代碼被替換成一些功能相同的開源代碼,比如說字體柵格化引擎,使用Free Type代替。

6.不能使用Java商標(biāo)

這個很容易理解,在安裝OpenJDK的機(jī)器上,輸入“java -version”顯示的是OpenJDK。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109938
  • JDK
    JDK
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    16897
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    IBM和Oracle深化合作伙伴關(guān)系

    近日,IBM 正在與 Oracle 合作,將 IBM 旗艦 AI 產(chǎn)品組合 watsonx 的強(qiáng)大功能引入 Oracle 云基礎(chǔ)設(shè)施 (OCI)。 借助 OCI 的原生人工智能服務(wù),IBM 與 Oracle
    的頭像 發(fā)表于 06-30 14:15 ?351次閱讀

    JDK從8升級到21的問題集

    、背景與挑戰(zhàn) 1. 升級動因 ?Oracle長期支持策略 ?現(xiàn)代特性需求:協(xié)程、模式匹配、ZGC等 ?安全性與性能的需求 ?AI新技術(shù)引入的版本要求 2. 項(xiàng)目情況 ?100+項(xiàng)目并行升級
    的頭像 發(fā)表于 06-06 16:49 ?255次閱讀

    oracle數(shù)據(jù)恢復(fù)—oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    oracle數(shù)據(jù)庫誤執(zhí)行truncate命令導(dǎo)致數(shù)據(jù)丟失是種常見情況。通常情況下,oracle數(shù)據(jù)庫誤操作刪除數(shù)據(jù)只需要通過備份恢復(fù)數(shù)據(jù)即可。也會碰到一些特殊情況,例如數(shù)據(jù)庫備份無法
    的頭像 發(fā)表于 06-05 16:01 ?335次閱讀
    <b class='flag-5'>oracle</b>數(shù)據(jù)恢復(fù)—<b class='flag-5'>oracle</b>數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    Debian和Ubuntu哪個好一些?

    兼容性對比Debian和Ubuntu哪個好一些,并為您揭示如何通過RAKsmart服務(wù)器釋放Linux系統(tǒng)的最大潛能。
    的頭像 發(fā)表于 05-07 10:58 ?345次閱讀

    樹莓派在自動化控制項(xiàng)目中的一些潛在應(yīng)用

    自動化控制項(xiàng)目中的一些潛在應(yīng)用。之前,我們已經(jīng)為Arduino平臺探討了相同的話題。我們確定Arduino是個出色的教育工具,但由于一些限制,它無法在工業(yè)環(huán)境中完全
    的頭像 發(fā)表于 03-25 09:45 ?219次閱讀
    樹莓派在自動化控制項(xiàng)目中的<b class='flag-5'>一些</b>潛在應(yīng)用

    適用于Oracle的SSIS數(shù)據(jù)流組件:提供快速導(dǎo)入及導(dǎo)出功能

    包括優(yōu)化的 Oracle Source、Oracle Destination 和 Oracle Lookup 組件,以及提供系列 Oracle
    的頭像 發(fā)表于 01-15 10:51 ?1047次閱讀
    適用于<b class='flag-5'>Oracle</b>的SSIS數(shù)據(jù)流組件:提供快速導(dǎo)入及導(dǎo)出功能

    適用于Oracle的Devart Excel插件:輕松管理數(shù)據(jù)

    工作簿中的數(shù)據(jù),編輯這些數(shù)據(jù)并將其保存回 Oracle。它使您能夠像使用 Excel 工作表樣處理 Oracle 數(shù)據(jù),可以輕松進(jìn)行數(shù)據(jù)清理和重復(fù)數(shù)據(jù)刪除的工作,并將 Excel 的所有強(qiáng)大
    的頭像 發(fā)表于 01-14 11:11 ?534次閱讀
    適用于<b class='flag-5'>Oracle</b>的Devart Excel插件:輕松管理數(shù)據(jù)

    適用于Oracle的ODBC驅(qū)動程序

    適用于 Oracle 的 ODBC 驅(qū)動程序 Devart ODBC Driver for Oracle種高性能連接解決方案,具有企業(yè)級功能,可用于從32位和64位 Windows、macOS
    的頭像 發(fā)表于 01-13 09:17 ?523次閱讀

    AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法

    電子發(fā)燒友網(wǎng)站提供《AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法.pdf》資料免費(fèi)下載
    發(fā)表于 01-08 13:57 ?0次下載
    AN29-關(guān)于DC-DC轉(zhuǎn)換器的<b class='flag-5'>一些</b>想法

    云服務(wù)器還是服務(wù)器好用一些?

    云服務(wù)器還是服務(wù)器好用一些?云服務(wù)器與服務(wù)器各有優(yōu)勢。服務(wù)器作為獨(dú)立物理設(shè)備,適合需高性能、物理控制和安全性高的場景;而云服務(wù)器基于云計算技術(shù),提供靈活資源分配、按需付費(fèi)、便捷管理和豐富服務(wù),更適合需快速響應(yīng)、大規(guī)模數(shù)據(jù)處理和低成本運(yùn)維的場景。以下是UU云小編對兩者的區(qū)別
    的頭像 發(fā)表于 12-26 10:08 ?508次閱讀

    一些常見的動態(tài)電路

    無論是模電還是數(shù)電,理論知識相對來說還是比較枯燥,各種電路原理理解清楚不算容易,換種生動形象的方式或許會增加一些趣味性,也更容易理解這些知識。下面整理了一些常見的電路,以動態(tài)圖形的方式展示。 整流
    的頭像 發(fā)表于 11-16 09:26 ?1148次閱讀
    <b class='flag-5'>一些</b>常見的動態(tài)電路

    分享一些常見的電路

    理解模電和數(shù)電的電路原理對于初學(xué)者來說可能比較困難,但通過一些生動的教學(xué)方法和資源,可以有效地提高學(xué)習(xí)興趣和理解能力。 下面整理了一些常見的電路,以動態(tài)圖形的方式展示。 整流電路 單相橋式整流
    的頭像 發(fā)表于 11-13 09:28 ?839次閱讀
    分享<b class='flag-5'>一些</b>常見的電路

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫啟庫報錯的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 機(jī)房異常斷電后,Oracle數(shù)據(jù)庫啟庫報錯:“system01.dbf需要更多的恢復(fù)來保持致性,數(shù)據(jù)庫無法打開”。數(shù)據(jù)庫沒有備份,歸檔日志不連續(xù)。用戶方提供了
    的頭像 發(fā)表于 09-30 13:31 ?746次閱讀
    <b class='flag-5'>Oracle</b>數(shù)據(jù)恢復(fù)—異常斷電后<b class='flag-5'>Oracle</b>數(shù)據(jù)庫啟庫報錯的數(shù)據(jù)恢復(fù)案例

    LED驅(qū)動器應(yīng)用的一些指南和技巧

    電子發(fā)燒友網(wǎng)站提供《LED驅(qū)動器應(yīng)用的一些指南和技巧.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 11:35 ?0次下載
    LED驅(qū)動器應(yīng)用的<b class='flag-5'>一些</b>指南和技巧

    Oracle數(shù)據(jù)恢復(fù)—Oracle數(shù)據(jù)庫delete刪除的數(shù)據(jù)恢復(fù)方法

    刪除Oracle數(shù)據(jù)庫數(shù)據(jù)般有以下2種方式:delete、drop或truncate。下面針對這2種刪除oracle數(shù)據(jù)庫數(shù)據(jù)的方式探討ora
    的頭像 發(fā)表于 09-11 11:45 ?722次閱讀