Java/下載與安裝JDK
上下文連結
[編輯]目錄 上一節 HelloWorld 下一節 Java開發工具
JVM、JRE與JDK
[編輯]JVM是Java Virtual Machine的縮寫,即Java虛擬機。與編譯型語言不同,Java程序被編譯成字節碼,而不是本地碼(處理器可以直接執行的二進制代碼)。Java虛擬機的功能就是模擬一台Java處理器,執行Java字節碼。早期的JVM採用解釋執行,類似於解釋腳本語言,因此效率較低。後來加入JIT(Just In Time)技術,在執行Java字節碼時,將字節碼翻譯成本地碼再由處理器執行,效率提高了很多。最近幾年又加入了HotSpot技術,執行效率得到進一步提高。所謂HotSpot技術就是JVM在執行字節碼時,並不是將所有的字節碼都翻譯成本地碼,而是動態檢查常用的(hot)的字節碼,將它們翻譯成本地碼,以提高執行速度,而很少執行的字節碼則採用解釋執行,不會執行到的代碼是不會被翻譯成本地碼的。這樣做的好處是提高熱代碼的執行效率,避免翻譯冷代碼帶來的開銷。而事實上,通常的軟件代碼中只有很小一部分熱代碼,它們會被頻繁執行,而大部分都是冷代碼,很少會執行到,符合通常所說的2-8原則。令人高興的是,Sun的Java虛擬機規範是公開的,也就是說任何第三方公司都可以實現自己的Java虛擬機。比如eclipse實現的OpenJ9(https://www.eclipse.org/openj9/)的虛擬機,據說執行效率比Sun提供的虛擬機高出很多。不過實際應用中,絕大多數人使用還是Sun的。
JRE是Java Runtime Environment的縮寫,即Java運行時環境。JRE除了包括JVM外,還包括有Java平台的核心類庫以及一些其他運行所需的文件(比如國際化支持的字符集和字體文件等)。JRE是執行Java程序的必要環境,因為虛擬機只能執行Java字節碼,但是我們所編寫的程序需要用到Java標準平台所提供的類庫,沒有這些核心庫的支持,我們所編寫的程序也是無法執行的。打個比方,JVM相當於一台具有Java處理器的計算機硬件系統,而JRE則相當於構建於JVM之上的作業系統,我們所編寫的Java程序就相當於在作業系統上運行的應用程式。
JDK是Java Development Kit的縮寫,即Java開發包,是專門開發Java程序的SDK。有了JRE可以運行Java程序,有了JDK才可以開發Java程序。JDK除了包含JRE中的必需文件之外,還包括開發Java程序所必需的編譯器、調試器,以及一些方便開發Java程序其他工具。
下載、安裝JDK
[編輯]目前主流的JDK有兩個版本:JDK8在行業上應用最廣,且已經相當穩定。
從JDK9開始,JDK的發佈周期為每半年發佈一般版本,每三年一個長期支持版。
普通版本只有半年的維護期,長期支持版有5年的維護期。
JDK8(ORACLE主要支持到2022年,擴展支持到2025年)與JDK11(ORACLE提供主要支持到2023年,擴展支持到2026年)為當前的長期支持版。
用戶可以在http://www.oracle.com/technetwork/java/javase/downloads/index.html下載。
隨着Java的不斷更新升級,JDK的版本會不斷變動。上面的信息可能已經過時,請以Oracle網站提供的版本信息為準。 |
Mac
[編輯]Mac下可以選擇離線安裝包,前往java官網下載dmg文件進行安裝即可。
Windows
[編輯]Windows下可以選擇離線安裝包或者在線安裝包。離線安裝包將下載整個JDK安裝程序到本地,安裝的時候,計算機不需要連接到互聯網。在線安裝包只下載一個很小的安裝程序,安裝的時候,這個程序將連接到Oracle的網站上,邊下載JDK,邊安裝。
Windows下的安裝跟其他軟件很相似,只需要簡單的設置一下幾個安裝選項就行了,一般情況下,使用默認設置即可。
安裝完成後,JDK安裝程序會建議您進行註冊。您可以忽略此信息,這不會影響您正常使用JDK;若您進行註冊,將會獲得Oracle提供的額外服務。
注:在安裝之後可以將安裝後的jdk文件夾打包壓縮,以後安裝jdk只需要解壓此文件夾並配置相應的環境變量即可。
Linux
[編輯]Linux平台有幾種安裝JDK的方式,同時也有兩種JDK可供選擇。
- Oracle JDK,Oracle官方提供的JDK,商業授權,閉源軟件
- OpenJDK,開源的JDK版本,開放授權,自由軟件
目前很多Linux發行版已經默認採用OpenJDK,而將Oracle JDK移除了,如Ubuntu、Fedora、Debian、OpenSUSE。安裝OpenJDK一般通過Linux自帶的軟件管理器、軟件中心等安裝,也可以通過命令行。
- 以Ubuntu為例,您需要運行Ubuntu軟件中心,搜索OpenJDK或者JDK,然後找到OpenJDK6或者OpenJDK7進行安裝。
- 以Fedora為例,您需要運行添加或刪除軟件包,搜索OpenJDK或者JDK,然後找到OpenJDK6或者OpenJDK7進行安裝。
由於OpenJDK通常是由Linux發行版進行維護的,因此提供的OpenJDK版本可能不是最新的。這可能是出於新版本在此系統上還未穩定,有待進一步測試;或者是因為此作業系統版本不再提供OpenJDK更新,您需要轉移到更新的平台上。 |
同時,Oracle JDK依舊可以從官方網站上下載到。Linux下的安裝包,Oracle提供了兩個版本,RPM包(二進制版本)和壓縮文件(原始碼版本)。 對於Debian和Ubuntu用戶,可以使用原始碼安裝,亦可從社區獲得他人打包的Deb安裝包。
由於Linux發行版之間,甚至同一發行版的不同版本之間,都存在差異,Oracle提供的JDK不一定能夠在特定的系統上穩定運行。Oracle也不能保證Oracle JDK在特定系統中運行良好。 |
Solaris
[編輯]Solaris可下載原始碼進行安裝,但需要注意處理器架構是否相符合。