亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

openJdk和sun Jdk區(qū)別和安裝

原創(chuàng) 2016-11-22 09:08:33 708
摘要:openJdk和sun jdk的區(qū)別使用過Linux的人都應(yīng)該知道,在大多數(shù)LINUX發(fā)行版本里,內(nèi)置或者通過軟件源安裝JDK的話,都是安裝的OpenJDK,那么到底什么是OpenJDK,它與SUN JDK有什么關(guān)系和區(qū)別呢?歷史上的原因是,OpenJDK是JDK的開放原始碼版本,以GPL(General Public License)協(xié)議的形式放出(題主提到的open就是指的開源)。在JDK7的

openJdk和sun jdk的區(qū)別

使用過Linux的人都應(yīng)該知道,在大多數(shù)LINUX發(fā)行版本里,內(nèi)置或者通過軟件源安裝JDK的話,都是安裝的OpenJDK,

那么到底什么是OpenJDK,它與SUN JDK有什么關(guān)系和區(qū)別呢?

歷史上的原因是,OpenJDK是JDK的開放原始碼版本,以GPL(General Public License)協(xié)議的形式放出(題主提到的open就是指的開源)。在JDK7的時(shí)候,OpenJDK已經(jīng)作為JDK7的主干開發(fā),SUN JDK7是在OpenJDK7的基礎(chǔ)上發(fā)布的,其大部分原始碼都相同,只有少部分原始碼被替換掉。使用JRL(JavaResearch License,Java研究授權(quán)協(xié)議)發(fā)布。至于OpenJDK6則更是有其復(fù)雜的一面,首先是OpenJDK6是JDK7的一個分支,并且盡量去除Java SE7的新特性,使其盡量的符合Java6的標(biāo)準(zhǔn)。關(guān)于JDK和OpenJDK的區(qū)別,可以歸納為以下幾點(diǎn):

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

OpenJDK采用GPL V2協(xié)議放出,而SUN JDK則采用JRL放出。兩者協(xié)議雖然都是開放源代碼的,但是在使用上的不同在于GPL V2允許在商業(yè)上使用,而JRL只允許個人研究使用。 
OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,這些功能在OpenJDK中是找不到的。

2.OpenJDK源代碼不完整:

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

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

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

4.OpenIDK只包含最精簡的JDK:

OpenJDK不包含其他的軟件包,比如Rhino Java DB JAXP……,并且可以分離的軟件包也都是盡量的分離,但是這大多數(shù)都是自由軟件,你可以自己下載加入。 
不能使用Java商標(biāo):這個很容易理解,在安裝OpenJDK的機(jī)器上,輸入“java -version”顯示的是OpenJDK,但是如果是使用Icedtea補(bǔ)丁的OpenJDK,顯示的是java。

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

linux安裝sun Jdk

Installing default JRE/JDK

sudo apt-get UPDATE 
sudo apt-get install default-jre 
sudo apt-get install default-jdk

Installing Oracle JDK

sudo apt-get install Python-software-properties 
sudo add-apt-repository ppa:webupd8team/java 
sudo apt-get UPDATE

Oracle JDK 6(舊版本)

sudo apt-get install oracle-java6-installer

Oracle JDK 7(較新的穩(wěn)定版本)

sudo apt-get install oracle-java7-installer

Oracle JDK 8(最新預(yù)覽版本)

sudo apt-get install oracle-java8-installer

Managing Java

sudo UPDATE-alternatives –config java 
sudo UPDATE-alternatives –config javac 
(同上) 
Setting the “JAVA_HOME” environment variable 通過這個命令可以看到j(luò)ava安裝路徑: 
sudo UPDATE-alternatives –config java 根據(jù)設(shè)置時(shí)所選項(xiàng)來確定path,我是用默認(rèn)的第一個,所以path為: 
“/usr/lib/jvm/java-7-oracle” 
sudo vim /etc/environment

在文件最后添加上:

JAVA_HOME=”/usr/lib/jvm/java-7-oracle” 
保存退出(:wq),在終端輸入:

source /etc/environment

然后輸入:

echo $JAVA_HOME 
如果輸出和我們設(shè)置是一樣的,說明我們安裝成功了,這時(shí)你還可以看下java的版本:

java -version


發(fā)佈手記

熱門詞條