因爲剛開始接觸Linux,因此在搜索如何安裝jdk的問題上,有了不一樣的說法,其中有一種安裝是直接安裝OpenJDK,還有一種方法下載官方網站的SunJDK,那麼兩個區別是什麼呢?下面是知乎的網友給出的看法。java
做者:Aloys寒風 連接:https://www.zhihu.com/question/19646618/answer/40621705 來源:知乎 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
使用過LINUX的人都應該知道,在大多數LINUX發行版本里,內置或者經過軟件源安裝JDK的話,都是安裝的OpenJDK,那麼到底什麼是OpenJDK,它與SUN JDK有什麼關係和區別呢?linux
歷史上的緣由是,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的區別,能夠概括爲如下幾點:vim
受權協議的不一樣: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更加完整。eclipse
部分源代碼用開源代碼替換:因爲產權的問題,不少產權不是SUN的源代碼被替換成一些功能相同的開源代碼,好比說字體柵格化引擎,使用Free Type代替。OpenIDK只包含最精簡的JDK:OpenJDK不包含其餘的軟件包,好比Rhino Java DB JAXP……,而且能夠分離的軟件包也都是儘可能的分離,可是這大多數都是自由軟件,你能夠本身下載加入。ide
不能使用Java商標:這個很容易理解,在安裝OpenJDK的機器上,輸入「java-version」顯示的是OpenJDK,可是若是是使用Icedtea補丁的OpenJDK,顯示的是java。字體
總之,在Java體系中,仍是有不少不自由的成分,源代碼的開發不夠完全,但願Oracle可以讓JCP更自由開放一些,這也是全部Java社區所但願的。網站
參考文章:
java - What is the difference between JVM, JDK, JRE & OpenJDK?http://blog.softrayn.com/2012...idea
Oracle JDK 和openJDK 有99.9%的代碼是同樣的,因此對於普通開發者沒有影響,爲了往後少操些心,我還決定用官方的版本吧。開放源代碼
2.建立一個目錄做爲JDK的安裝目錄.code
`sudo mkdir /java`
/java
目錄下sudo mv /home/dreamer/下載/jdk-8u161-linux-x64.tar.gz /java
sudo tar -zxvf /java/jdk-8u161-linux-x64.tar.gz
sudo vim /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin" export CLASSPATH=「.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib」 export JAVA_HOME=」/java/jdk1.8.0_121「
輸入source /etc/environment
是環境變量當即生效。
java -version
顯示成功則說明安裝成功。7.這個時候尚未結束,電腦重啓以後就用不了了,因此還須要配置全部用戶的環境變量
sudo vim /etc/profile
在文件的最後添加如下內容:
#set Java environment export JAVA_HOME=/java/jdkXXX export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
8.一樣,須要使用命令使環境變量當即生效
source /etc/profile
至此JDK就安裝成功了!!
下載太慢 ,因此我以爲仍是下載idea吧。。。。
可能這個緣由使得idea份額變大的緣由吧(逃。。。。
好了,下面是idea的下載安裝
一樣的道理。
4.運行,在安裝目錄運行的bin目錄執行。
`./idea.sh`