成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java是不是開源的

小編給大家分享一下java是不是開源的,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

為商洛等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及商洛網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站制作、商洛網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

在2006年11月13日的JavaOne大會(huì)上,Sun公司宣布最終會(huì)將Java開源,并在隨后的一年多時(shí)間內(nèi),陸續(xù)將JDK的各個(gè)部分在GPL v2(GNU General Public License v2)協(xié)議下公開了源碼,并建立了OpenJDK組織對(duì)這些源碼進(jìn)行獨(dú)立管理。除了極少量的產(chǎn)權(quán)代碼(Encumbered Code,這部分代碼大多是Sun本身也無權(quán)限進(jìn)行開源處理的)外,OpenJDK幾乎包括了Sun JDK的全部代碼,OpenJDK的質(zhì)量主管曾經(jīng)表示,在JDK 1.7中,Sun JDK和OpenJDK除了代碼文件頭的版權(quán)注釋之外,代碼基本上完全一樣,所以O(shè)penJDK 7與Sun JDK 1.7本質(zhì)上就是同一套代碼庫開發(fā)的產(chǎn)品。

2006年11月13日,Sun Microsystems正式開源Java。事實(shí)上Java的源代碼在發(fā)布第一天就可以訪問,這一策略幫助Java在早年推動(dòng)了平臺(tái)的建立。

Java之父James Gosling稱,他們公開源代碼的意圖是讓社區(qū)幫助進(jìn)行安全分析、bug報(bào)告、增強(qiáng)性能、了解偏僻個(gè)案等。Java最早使用的許可證允許內(nèi)部使用源代碼但不能分發(fā)。

IBM當(dāng)時(shí)呼吁將Java捐給Apache軟件基金會(huì),使用Apache許可證分發(fā),但Sun最終決定在GPL許可證下開源Java。GPL許可證要求衍生版本需要公開分發(fā)。Gosling稱這能讓Java更好的適應(yīng)開源社區(qū)。Sun在2010年被甲骨文收購,Java也落到了甲骨文手中,由甲骨文主導(dǎo)Java的演化。

JDK 1.6發(fā)布以后,由于代碼復(fù)雜性的增加、JDK開源、開發(fā)JavaFX、經(jīng)濟(jì)危機(jī)及Sun收購案等原因,Sun在JDK發(fā)展以外的事情上耗費(fèi)了很多資源,JDK的更新沒有再維持兩年發(fā)布一個(gè)主版本的發(fā)展速度。JDK 1.6到目前為止一共發(fā)布了37個(gè)Update版本,最新的版本為Java SE 6 Update 37,于2012年10月16日發(fā)布。

OpenJDK原是SunMicrosystems公司為Java平臺(tái)構(gòu)建的Java開發(fā)環(huán)境(JDK)的開源版本,完全自由,開放源碼。Sun Microsystems公司在2006年的JavaOne大會(huì)上稱將對(duì)Java開放源代碼,于2009年4月15日正式發(fā)布OpenJDK。甲骨文在 2010 年收SunMicrosystem之后接管了這個(gè)項(xiàng)目。

java在發(fā)行過程中分為了openjdk和sun/oracle JDK兩種。

關(guān)于JDK和OpenJDK的區(qū)別,可以歸納為以下幾點(diǎn):

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

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

OpenJDK不包含Deployment(部署)功能:

部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,這些功能在Openjdk中是找不到的。

OpenJDK源代碼不完整:

這個(gè)很容易想到,在采用GPL協(xié)議的Openjdk中,sun jdk的一部分源代碼因?yàn)楫a(chǎn)權(quán)的問題無法開放openjdk使用,其中最主要的部份就是JMX中的可選元件SNMP部份的代碼。因此這些不能開放的源代碼將它作成plug,以供OpenJDK編譯時(shí)使用,你也可以選擇不要使用plug。而Icedtea則為這些不完整的部分開發(fā)了相同功能的源代碼(OpenJDK6),促使OpenJDK更加完整。

部分源代碼用開源代碼替換:

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

openjdk只包含最精簡的JDK:

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

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

這個(gè)很容易理解,在安裝openjdk的機(jī)器上,輸入“java -version”顯示的是openjdk,但是如果是使用Icedtea補(bǔ)丁的openjdk,顯示的是java。(未驗(yàn)證)

總之,在Java體系中,還是有很多不自由的成分,源代碼的開發(fā)不夠徹底,希望Oracle能夠讓JCP更自由開放一些,這也是所有Java社區(qū)所希望的。

到這里,基本上明白了java為什么會(huì)有開源還是閉源的爭執(zhí),也知道了出現(xiàn)誤解的原因。我個(gè)人感覺java還是屬于開源的,只是開源的程度沒有達(dá)到百分百。

Oracle/Sun JDK里面包含的JVM是HotSpotVM,HotSpot VM只有非常非常少量的功能沒有在OpenJDK里,那部分在Oracle內(nèi)部的代碼庫里。這些私有部分都不涉及JVM的核心功能。所以說,Oracle/Sun JDK與OpenJDK其實(shí)使用的是同一個(gè)代碼庫。

從一個(gè)Oracle內(nèi)部員工的角度來看,當(dāng)他要構(gòu)建OracleJDK時(shí),他同樣需要先從http://hg.openjdk.java.net簽出OpenJDK,然后從Oracle內(nèi)部的代碼庫簽出私有的部分,放在OpenJDK代碼下的一個(gè)特定目錄里,然后構(gòu)建。

值得注意的是,Oracle JDK只發(fā)布二進(jìn)制安裝包,而OpenJDK只發(fā)布源碼

看完了這篇文章,相信你對(duì)java是不是開源的有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站標(biāo)題:java是不是開源的
網(wǎng)站URL:http://jinyejixie.com/article46/ggeeeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、品牌網(wǎng)站建設(shè)、用戶體驗(yàn)域名注冊(cè)、靜態(tài)網(wǎng)站網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
民勤县| 闽清县| 灌南县| 鸡东县| 鄯善县| 阿克| 长汀县| 潼南县| 香河县| 宽甸| 张家港市| 青冈县| 江都市| 杭锦后旗| 鄂尔多斯市| 观塘区| 大竹县| 永靖县| 彭山县| 郯城县| 余庆县| 德保县| 华容县| 山东| 和田县| 玉山县| 高尔夫| 舒城县| 桃园县| 漳州市| 涪陵区| 精河县| 邯郸县| 来凤县| 贞丰县| 岳普湖县| 灵璧县| 南阳市| 镇远县| 稻城县| 贵阳市|