JDK是整個Java的核心,包括了一個Java運行時環境(JRE)、Java工具以及基本的Java類庫。JDK是Sun公司免費提供給軟件工程師開發java應用程序一套開發套件。簡單的說java
JDK(Java Development Kit)有不少幫助開發人員進行java開發時所用到的工具,包括編譯、調試、運行等等命令。android
JRE(Java Run )就是在運行java應用程序時提供支持的環境。web
JRE在一些操做系統中已經預裝了,可是JDK卻並不必定有安裝,畢竟不是個個都是java開發人員。因此咱們如今要成爲java工程師,首先得先安裝並設置好開發環境。編程
一、在Path編輯後面加入:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意!!!若是加入前最後面沒有;要加入;)oracle
二、進行新建一個CLASSPATH:變量名字:CLASSPATH 變量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jarapp
三、進行新建JAVA_HOME:變量名:JAVA_HOME 變量值:本機jdk的路徑,好比我 :C:\Program Files\Java\jdk-10.0.2eclipse
JDK是學好Java的第一步。不論是你要學習java編程,仍是要搭建jsp web開發環境,或者是android開發環境都離不開它。jvm
jdk是什麼呢?jdk的是java development kit的縮寫,意思是java程序開發的工具包。也能夠說jdk是java的sdk。jsp
先來講一下jdk的版本,一共有三種,標準版,企業版,移動設備版。函數
首先咱們進入官網進行查看
或者百度下載:
步驟一:當咱們沒有在主頁時候,能夠單擊oracle進入主頁
步驟二:進行下載 這個Trials and Downloads是測試和下載的意思
第三步:進行進入查找java中的jdk
第四步:找下載地址
第五步進入下載:
這裏有安裝提示,只須要點下一步便可
完成後進行cmd查詢 win+R鍵進行運行(win鍵在Ctrl與Alt中間)
進行cmd進入後輸入java回車
執行後會出現不少東西,以下圖
出現這個表示已經安裝完成
若是安裝過的,能夠到系統裏面卸載
須要卸載兩個便可如圖:
刪除完成再進行安裝便可;
第一步:個人電腦右鍵點擊屬性
第二步:高級系統設置->環境變量->
個人根目錄以下:
C:\Program Files\Java\jdk-10.0.2
有些安裝後出現問題如圖
普通用戶並不須要安裝JDK來運行Java程序,而只須要安裝JRE(Java Runtime Environment)。而程序開發者必須安裝JDK來編譯、調試程序。
小結:
簡單的說JDK是面向開發人員使用的SDK,它提供了Java的開發環境和運行環境。SDK是Software Development Kit 通常指軟件開發包,能夠包括函數庫、編譯程序等。
JDK就是Java Development Kit
JRE是Java Runtime Enviroment是指Java的運行環境,是面向Java程序的使用者,而不是開發者。
若是安裝了JDK,會發同你的電腦有兩套JRE,一套位於 \jre 另一套位於 C:\Program Files\Java\j2re1.4.1_01 目錄下,後面這套比前面那套少了Server端的Java虛擬機,不過直接將前面那套的Server端Java虛擬機複製過來就好了。並且在安裝JDK能夠選擇是否安裝這個位於 C:\Program Files\Jav a 目錄下的JRE。若是你只安裝JRE,而不是JDK,那麼只會在 C:\Program Files\Java 目錄下安裝惟一的一套JRE。
JRE的地位就象一臺PC機同樣,咱們寫好的 Win32應用程序須要操做系統幫咱們運行,一樣的,咱們編寫的Java程序也必需要JRE才能運行。因此當你裝完JDK後,若是分別在硬盤上的兩個不一樣地方安裝了兩套JRE,那麼你能夠想象你的電腦有兩臺虛擬的Java PC機,都具備運行Java程序的功能。因此咱們能夠說,只要你的電腦安裝了JRE,就能夠正確運行Jav a應用程序。
一、爲何Sun要讓JDK安裝兩套相同的JRE?這是由於JDK裏面有不少用Java所編寫的開發工具(如javac.exe、jar.exe等),並且都放置在 \lib\tools.jar 裏。從下面例子能夠看出,先將tools.jar更名爲tools1.jar,而後運行javac.exe,顯示以下結果: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 這個意思是說,你輸入javac.exe與輸入 java -cp c:\jdk\lib\tools.jar com.sun.tools.javac.Main 是同樣的,會獲得相同的結果。從這裏咱們能夠證實javac.exe只是一個包裝器(Wrapper),而製做的目的是爲了讓開發者免於輸入太長的指命。並且能夠發現\lib目錄下的程序都很小,不大於2 9K,從這裏咱們能夠得出一個結論。就是JDK裏的工具幾乎是用Java所編寫,因此也是Java應用程序,所以要使用JDK所附的工具來開發Java程序,也必需要自行附一套JRE才行,因此位於C:\Program Files\Java目錄下的那套JRE就是用來運行通常Java程序用的。
二、若是一臺電腦安裝兩套以上的JRE,誰來決定呢?這個重大任務就落在java.exe身上。Java.exe的工做就是找到合適的JRE來運行 Java程序。 Java.exe依照底下的順序來查找JRE:本身的目錄下有沒有JRE;父目錄有沒有JRE;查詢註冊表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 因此java.exe的運行結果與你的電腦裏面哪一個JRE被執行有很大的關係。
三、介紹JVM JRE目錄下的Bin目錄有兩個目錄:server與client。這就是真正的jvm.dll所在。 jvm.dll沒法單獨工做,當jvm.dll啓動後,會使用explicit的方法(就是使用Win32 API之中的LoadLibrary()與GetProcAddress()來載入輔助用的動態連接庫),而這些輔助用的動態連接庫(.dll)都必須位於jvm.dll所在目錄的父目錄之中。所以想使用哪一個JVM,只須要設置PATH,指向JRE所在目錄底下的jvm.dll。