關於OpenJDK和Orcale JDK區別

1、環境Centos

今天搞tomcat發現了一個問題,衆所周知,tomcat須要java環境支持,而後我今天就想着嘗試yum安裝java,命令 yum install -y java* 確實能夠安裝上,可是安裝的是 openjdk,也會面臨一個問題,沒有jar命令,war打包的命令java

如圖tomcat

然而咱們通常生產線上使用的是Oracle的java,由於這樣配置的java環境更全,功能會更多開放源代碼

如圖3d

2、兩個版本不一樣之處

受權協議的不一樣

OpenJDK採用GPL V2協議放出,而SUN JDK則採用JRL放出。二者協議雖然都是開放源代碼的,可是在使用上的不一樣在於GPL V2容許在商業上使用,而JRL只容許我的研究使用。blog

OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,這些功能在OpenJDK中是找不到的。開發

OpenJDK源代碼不完整:

這個很容易想到,在採用GPL協議的OpenJDK中,SUN JDK的一部分源代碼由於產權的問題沒法開放給OpenJDK使用,其中最主要的部份就是JMX中的可選元件SNMP部份的代碼。所以這些不能開放的源代碼 將它做成plug,以供OpenJDK編譯時使用,你也能夠選擇不要使用plug。而Icedtea則爲這些不完整的部分開發了相同功能的源代碼 (OpenJDK6),促使OpenJDK更加完整。部署

Openjdk精簡化

OpenJDK只包含最精簡的JDK:OpenJDK不包含其餘的軟件包,好比Rhino Java DB JAXP……,而且能夠分離的軟件包也都是儘可能的分離,可是這大多數都是自由軟件,你能夠本身下載加入。 這可能致使yum安裝的java環境沒有jar命令io

版本顯示

OpenJDK不能使用Java商標,這個很容易理解,在安裝OpenJDK的機器上,輸入「java -version」顯示的是OpenJDK,編譯

可是若是是使用Oracle安裝的java,顯示的是javajdk

相關文章
相關標籤/搜索