有Java編程經驗的程序員應該都知道:Java程序是運行在JVM(Java虛擬機)上的,在開發程序以前都要配置Java開發環境,其中首先要作的就是JDK的安裝和配置,那麼JDK、JVM、JRE到底有何聯繫和區別呢?想必並非每個程序員都能說得清楚的,本文接下來將帶你瞭解它們之間的關係。html
1、JDKjava
JDK(Java SE Development Kit),Java標準開發包,它提供了編譯、運行Java程序所需的各類工具和資源,包括Java編譯器、Java運行時環境,以及經常使用的Java類庫等。程序員
下圖是JDK的安裝目錄:編程
2、JRE微信
JRE( Java Runtime Environment) 、Java運行環境,用於解釋執行Java的字節碼文件。普通用戶而只須要安裝 JRE(Java Runtime Environment)來運行 Java 程序。而程序開發者必須安裝JDK來編譯、調試程序。jvm
下圖是JRE的安裝目錄:裏面有兩個文件夾bin和lib,在這裏能夠認爲bin裏的就是jvm,lib中則是jvm工做所須要的類庫,而jvm和 lib和起來就稱爲jre。編程語言
3、JVM工具
JVM(Java Virtual Mechinal),Java虛擬機,是JRE的一部分。它是整個java實現跨平臺的最核心的部分,負責解釋執行字節碼文件,是可運行java字節碼文件的虛擬計算機。全部平臺的上的JVM向編譯器提供相同的接口,而編譯器只須要面向虛擬機,生成虛擬機能識別的代碼,而後由虛擬機來解釋執行。spa
當使用Java編譯器編譯Java程序時,生成的是與平臺無關的字節碼,這些字節碼只面向JVM。不一樣平臺的JVM都是不一樣的,但它們都提供了相同的接口。JVM是Java程序跨平臺的關鍵部分,只要爲不一樣平臺實現了相應的虛擬機,編譯後的Java字節碼就能夠在該平臺上運行。調試
4、區別與聯繫
如需轉載,請註明做者(冰湖一角)和連接https://www.cnblogs.com/bingyimeiling/p/10266949.html
歡迎關注微信公衆號【Java典籍】,收看更多Java技術乾貨!
▼微信掃一掃下圖↓↓↓二維碼關注