JDK與JRE JVM區別

1.JDK定義
JDK(Java Development Kit),Java標準開發包,它提供了編譯、運行Java程序所需的各種工具和資源,包括Java編譯器、Java運行時環境,以及常用的Java類庫等。
jdk安裝目錄:

在這裏插入圖片描述
2.JRE定義
JRE( Java Runtime Environment) 、Java運行環境,用於解釋執行Java的字節碼文件。普通用戶而只需要安裝 JRE(Java Runtime Environment)來運行 Java 程序。而程序開發者必須安裝JDK來編譯、調試程序。
  下圖是JRE的安裝目錄:裏面有兩個文件夾bin和lib,在這裏可以認爲bin裏的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱爲jre。
  在這裏插入圖片描述
3.JVM定義
JVM(Java Virtual Mechinal),Java虛擬機,是JRE的一部分。它是整個java實現跨平臺的最核心的部分,負責解釋執行字節碼文件,是可運行java字節碼文件的虛擬計算機。所有平臺的上的JVM向編譯器提供相同的接口,而編譯器只需要面向虛擬機,生成虛擬機能識別的代碼,然後由虛擬機來解釋執行。
  當使用Java編譯器編譯Java程序時,生成的是與平臺無關的字節碼,這些字節碼只面向JVM。不同平臺的JVM都是不同的,但它們都提供了相同的接口。JVM是Java程序跨平臺的關鍵部分,只要爲不同平臺實現了相應的虛擬機,編譯後的Java字節碼就可以在該平臺上運行。

區別與聯繫: 1.JDK 用於開發,JRE 用於運行java程序 ;如果只是運行Java程序,可以只安裝2.JRE,無序安裝JDK。 3.JDK包含JRE,JDK 和 JRE 中都包含 JVM。 4.JVM 是 java 編程語言的核心並且具有平臺獨立性。