JDK、JRE、JVM之間的關係

         JDKJREJVM之間的關係html

1JDK下載地址java

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html網絡

 

2JDKJREJVM之間有什麼關係?架構

JDKJREJVM之間是一種包含關係,範圍是從大到小依次爲 JDK>JRE>JVM,即JDK中包含JREJRE包含JVMoracle

 

3、兩個JRE,都有什麼做用?工具

    第一個JRE安裝路徑:C:\Program Files\Java\jdk1.8.0_25\jre開發工具

    第二個JRE安裝路徑:C:\Program Files\Javaspa

    第一個JREJDK自帶的爲其開發工具提供運行環境的JRE,在JDK中有不少用Java編寫的開發工具for examplejavac.exejar.exe),這些工具的實現代碼都放在路徑:C:\Program Files\Java\jdk1.8.0_25\lib tools.jar裏面。操作系統

    第二個JRE用於Java程序提供運行環境。調試

這兩個JRE均可以做爲開發Java程序的運行環境,可是JDK自帶的開發工具只能使用第一個目錄下的JDK,不能使用第二個目錄下的JDK


四、JDK是什麼?

JDKJava  Development  ToolKitJava開發工具包)。JDK是整個JAVA的核心,包括了Java的運行環境Java  Runtime  Environment)、一堆Java工具javacjavajdb等)和Java基礎的類庫(即Java  API包括rt.jar)。

Java  APIJava的應用程序接口,裏面有不少已經寫好的Java Class,包括一些重要的語言結構以及基本圖形,網絡和文件I/O等等,咱們能夠直接調用使用。

如今已經有不少版本的JDK,除了Sun公司,還有不少公司都開發了屬於本身的JDK,如IBM、淘寶等。聽說IBMJDK運行效率比Sun的還要高,可是無論怎麼說仍是先把基礎的Sun JDK學好。


五、JRE是什麼?

JREJava Runtime EnvironmentJava運行環境)。在Java平臺下,全部的Java程序都須要在JRE下才能運行。只有JVM還不能進行class的執行,由於解釋class的時候,JVM須要調用解釋所須要的類庫libJRE裏面有兩個文件夾binlib,這裏能夠認爲bin就是JVMlib就是JVM所須要的類庫,而JVMlib合起來就稱爲JRE

JRE包括JVMJAVA核心類庫與支持文件。與JDK不一樣,它不包含開發工具----編譯器、調試器和其它工具。


6JVM是什麼?

JVMJava Virtual MachineJava 虛擬機)JVMJRE的一部分,它是一個虛擬出來的計算機,是經過在實際的計算機上仿真模擬各類計算機功能來實現的。JVM有本身完善的硬件架構,如處理器、堆棧、寄存器等,還具備相應的指令系統。

JVMJava實現跨平臺最核心的部分,全部的Java程序會首先被編譯爲.class的類文件,JVM的主要工做是解釋本身的指令集(即字節碼)並映射到本地的CPU的指令集OS的系統調用Java面對不一樣操做系統使用不一樣的虛擬機,依次實現了跨平臺。JVM對上層的Java源文件是不關心的,它關心的只是由源文件生成的類文件。


7、總結

咱們開發的實際狀況是:咱們利用JDK(調用本地的API)開發屬於本身的JAVA程序後,經過JDK中的編譯程序(javac)將咱們的文本java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解釋這些字節碼,映射到CPU指令集或OS的系統調用。

相關文章
相關標籤/搜索