JDK、JRE、JVM之間的關係html
1、JDK下載地址java
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html網絡
2、JDK、JRE、JVM之間有什麼關係?架構
JDK、JRE、JVM之間是一種包含關係,範圍是從大到小依次爲 JDK>JRE>JVM,即JDK中包含JRE,JRE包含JVM。oracle
3、兩個JRE,都有什麼做用?工具
第一個JRE安裝路徑:C:\Program Files\Java\jdk1.8.0_25\jre開發工具
第二個JRE安裝路徑:C:\Program Files\Javaspa
第一個JRE是JDK自帶的爲其開發工具提供運行環境的JRE,在JDK中有不少用Java編寫的開發工具for example(javac.exe、jar.exe),這些工具的實現代碼都放在路徑:C:\Program Files\Java\jdk1.8.0_25\lib 的tools.jar裏面。操作系統
第二個JRE用於爲Java程序提供運行環境。調試
這兩個JRE均可以做爲開發Java程序的運行環境,可是JDK自帶的開發工具只能使用第一個目錄下的JDK,不能使用第二個目錄下的JDK。
四、JDK是什麼?
JDK:Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java的運行環境(Java Runtime Environment)、一堆Java工具(javac、java、jdb等)和Java基礎的類庫(即Java API包括rt.jar)。
Java API是Java的應用程序接口,裏面有不少已經寫好的Java Class,包括一些重要的語言結構以及基本圖形,網絡和文件I/O等等,咱們能夠直接調用使用。
如今已經有不少版本的JDK,除了Sun公司,還有不少公司都開發了屬於本身的JDK,如IBM、淘寶等。聽說IBM的JDK運行效率比Sun的還要高,可是無論怎麼說仍是先把基礎的Sun JDK學好。
五、JRE是什麼?
JRE:Java Runtime Environment(Java運行環境)。在Java平臺下,全部的Java程序都須要在JRE下才能運行。只有JVM還不能進行class的執行,由於解釋class的時候,JVM須要調用解釋所須要的類庫lib。JRE裏面有兩個文件夾bin和lib,這裏能夠認爲bin就是JVM,lib就是JVM所須要的類庫,而JVM和lib合起來就稱爲JRE。
JRE包括JVM和JAVA核心類庫與支持文件。與JDK不一樣,它不包含開發工具----編譯器、調試器和其它工具。
6、JVM是什麼?
JVM:Java Virtual Machine(Java 虛擬機)JVM是JRE的一部分,它是一個虛擬出來的計算機,是經過在實際的計算機上仿真模擬各類計算機功能來實現的。JVM有本身完善的硬件架構,如處理器、堆棧、寄存器等,還具備相應的指令系統。
JVM是Java實現跨平臺最核心的部分,全部的Java程序會首先被編譯爲.class的類文件,JVM的主要工做是解釋本身的指令集(即字節碼)並映射到本地的CPU的指令集或OS的系統調用。Java面對不一樣操做系統使用不一樣的虛擬機,依次實現了跨平臺。JVM對上層的Java源文件是不關心的,它關心的只是由源文件生成的類文件。
7、總結
咱們開發的實際狀況是:咱們利用JDK(調用本地的API)開發屬於本身的JAVA程序後,經過JDK中的編譯程序(javac)將咱們的文本java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解釋這些字節碼,映射到CPU指令集或OS的系統調用。