Linux下的JDK和OpenJDK有什麼具體的區別
OpenJDK是JDK的開放原始碼版本,以GPL(General Public License)協議的形式放出(題主提到的open就是指的開源)。在JDK7的時候,OpenJDK已經作爲JDK7的主幹開發,SUN JDK7是在OpenJDK7的基礎上發佈的,其大部分原始碼都相同,只有少部分原始碼被替換掉。使用JRL(JavaResearch License,Java研究授權協議)發佈。
至於OpenJDK6則更是有其複雜的一面,首先是OpenJDK6是JDK7的一個分支,並且儘量去除Java SE7的新特性,使其儘量的符合Java6的標準。
關於JDK和OpenJDK的區別,可以歸納爲以下幾點:
授權協議的不同:OpenJDK採用GPL V2協議放出,而SUN JDK則採用JRL放出。兩者協議雖然都是開放源代碼的,但是在使用上的不同在於GPL V2允許在商業上使用,而JRL只允許個人研究使用。
OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,這些功能在OpenJDK中是找不到的。
OpenJDK源代碼不完整:這個很容易想到,在採用GPL協議的OpenJDK中,SUN JDK的一部分源代碼因爲產權的問題無法開放給OpenJDK使用,其中最主要的部份就是JMX中的可選元件SNMP部份的代碼。因此這些不能開放的源代碼 將它作成plug,以供OpenJDK編譯時使用,你也可以選擇不要使用plug。而Icedtea則爲這些不完整的部分開發了相同功能的源代碼 (OpenJDK6),促使OpenJDK更加完整。
部分源代碼用開源代碼替換:由於產權的問題,很多產權不是SUN的源代碼被替換成一些功能相同的開源代碼,比如說字體柵格化引擎,使用Free Type代替。
OpenIDK只包含最精簡的JDK:OpenJDK不包含其他的軟件包,比如Rhino Java DB JAXP……,並且可以分離的軟件包也都是儘量的分離,但是這大多數都是自由軟件,你可以自己下載加入。
不能使用Java商標:這個很容易理解,在安裝OpenJDK的機器上,輸入“java -version”顯示的是OpenJDK,但是如果是使用Icedtea補丁的OpenJDK,顯示的是java。
總之,在Java體系中,還是有很多不自由的成分,源代碼的開發不夠徹底,希望Oracle能夠讓JCP更自由開放一些,這也是所有Java社區所希望
第一步:下載jdk1.8
對於無網絡條件來說,需要安裝文件交互軟件,xftp 6 或者 MobaXterm,把優盤的裏安裝包copy進去就行,鏈接在下方
我是鏈接:https://pan.baidu.com/s/12ugq0TQSTcjfZey2sWCOkA 我是提取碼:ppto
去官網下載最新版的jdk 路徑https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我是鏈接:https://pan.baidu.com/s/14vm-qtxZUEcVdoCJBqppDg 我是提取碼:ok4d
1 |
[root@localhost]# java –version |
顯示版本可能會有所不同
1 |
[root@localhost]# rpm -qa|grep java |
可一步卸載,也可分步卸載,分佈卸載時需要先卸載低版本的jdk
1 |
[root@localhost]# rpm -e --nodeps tzdata-java-2016g-2.el7.noarch [root@localhost]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64 [root@localhost]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64 [root@localhost]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64 [root@localhost]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64 |
2 |
一步卸載 [root@localhost]# yum remove *openjdk* |
1 |
[root@localhost software]# rpm -qa | grep java |
第二步:安裝新的jdk
1 |
[root@Localhost]# cd zojan [root@Localhost zojan]# ll |
1 |
[root@localhost]# cd /usr [root@localhost usr]# mkdir java [root@localhost usr]# tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/java
|
第三步:配置環境變量
1 |
[root@localhost]# vim /etc/profile |
2 |
在文件的最前面添加下列代碼(JAVA_HOME是自己安裝的路徑): export JAVA_HOME=/usr/java/jdk1.8.0_201 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH |
(這樣可以使配置不用重啓即可立即生效)
1 |
[root@Localhost zojan]# source /etc/profile |
第四步:檢查新安裝的jdk
1 |
[root@localhost zojan]# java –version |
到此,jdk重新安裝按成