要下載JDK,請連接到〈Java SE Downloads〉,你要下載的是Java SE 8中的 JDK,按照以往慣例,發佈JDK之後,每隔幾個月會針對使用者回報的BUG或安全問題進行修正,並發佈一個修正版JDK,如果你連接以上網址時,出現的字樣是Java SE Development 8uN之類的字樣,其中N就是JDK更新版本號。
在Java SE Development Kit 7u40這個版本之前,7uN中的N是表示JDK是發佈以來第N個修正版,不過Oracle改變了這個規則,詳情可參考〈Java SE - Change in Version Numbering Scheme〉。
在 〈Java SE Downloads〉 網頁中還可以看到 Server JRE與JRE的下載,先前提過,客戶如果要執行Java程式,只需要安裝JRE,不需要裝JDK,其中桌面應用程式,可以下載JRE版本,如果是要運行伺服端應用程式,可以下載Server JRE版本。
如果選擇的是Windows安裝版本,使用安裝精靈的話,會看到需要安裝Development Tools、Source Code與Public JRE。Development Tools就是安裝編譯器之類的工具程式,要開發Java程式,這個自然得安裝。Source Code是JRE中Java SE API的實作程式碼,有時候,你會需要察看Java SE API原始碼,了解一下內部運作機制。Public JRE就是剛剛在 〈Java SE Downloads〉 中看到的JRE,所以下載了JDK,就同時下載了JRE。
除了Development Tools之外,另外兩個選項,其實都可以不安裝,這不影響後續的程式開發。不過為了日後可以參考一些原始碼、直接在Public JRE上作測試等、或開發簡單的資料庫程式,建議是全部安裝。
不安裝Public JRE?那怎麼執行寫好的Java程式呢?不是說要有JRE才可以執行嗎?其實JDK本身附有一個JRE,相對於Public JRE這個名稱,JDK自己附的JRE通常稱為Private JRE,只要安裝JDK,一定就有Private JRE,稍後會說明Private JRE的安裝位置。安裝Public JRE或自行下載JRE安裝,會註冊Java plugin、Web Start等瀏覽器或桌面客戶端必要的元件,方便需要JRE的桌面應用程式使用。
在安裝時必須記得JDK安裝位置,之後設定PATH
變數時會用到這個資訊!等待JDK安裝完後,若曾選擇安裝「Public JRE」,就會再出現安裝Public JRE的畫面,同樣地,請記下安裝位置。
那麼你到底安裝了哪些東西呢?假設JDK與Public JRE各安裝至「C:\Program Files\Java\jdk1.8.0\」及「C:\Program Files\Java\jre8\」(如果安裝時有選擇Public JRE選項的話)。
Public JRE是給Java程式執行的平台,JDK本身也附帶JRE,這個JRE是位於JDK安裝資料夾的「jre」資料夾下,也就是在「C:\Program Files\Java\jdk1.8.0\jre」中,通常稱為Private JRE。
JDK本身附帶的Private JRE,主要是開發Java程式時測試之用,就Java SE 8而言,與Public JRE安裝後的內容是相同的,安裝Public JRE或自行下載JRE安裝,會註冊Java plugin、Web Start等瀏覽器或桌面客戶端必要的元件,方便需要JRE的桌面應用程式使用。
JDK下載頁面中的Server JRE,主要是針對伺服端Java應用程式,因此只會包括伺服端部署(Deployment)時常用的工具,不包括瀏覽器plugin等客戶端桌面應用程式執行時必要的元件,也不會有安裝精靈。
在「C:\Program Files\Java\jdk1.8.0\」中,bin中存放的就是Development Tools選項。jre則是JDK的Private JRE(不是安裝選項中的Public JRE)。src.zip與javafx-src.zip則是Source Code選項,也就是Java SE API的實作原始碼。JavaFX於Java SE 7 Update 6之後,正式併入Java SE API之中,從此可以直接使用javac與java來編譯與執行JavaFX程式。
src.zip是Java SE API的實作原始碼,使用解壓縮軟體解開,會看到許多.java原始碼檔案,那麼Java SE API編譯好的.class檔放在哪呢?放在JRE資料夾中,無論是Private JRE或Public JRE的資料夾中,都會有個lib目錄,其中有個rt.jar檔案,JAR(Java Archive)檔案是zip壓縮格式,可以使用解壓縮軟體開啟,就會看到許多編譯好的.class檔案。