1. 程式人生 > >Java JDK、JRE、JVM的區別與聯系

Java JDK、JRE、JVM的區別與聯系

自己 title category 工具 編寫 image src 通過 基礎


title: Java JDK、JRE、JVM的區別與聯系
date: 2018-03-17 23:07:33
category: 原創
---

JDK:

全名:Java Development Kit
含義:Java開發工具包
JDK中包含JRE,在JDK的安裝目錄下有一個名為jre的目錄,裏面有兩個文件夾bin和lib,在這裏可以認為bin裏的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。
JDK是整個JAVA的核心,包括了Java運行環境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。 

JRE

全名:Java runtime environment
含義:Java運行環境
是運行基於Java語言編寫的程序所不可缺少的運行環境。也是通過它,Java的開發者才得以將自己開發的程序發布到用戶手中,讓用戶使用。  JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,這些是運行Java程序的必要組件。  與大家熟知的JDK不同,JRE是Java運行環境,並不是一個開發環境,所以沒有包含任何開發工具(如編譯器和調試器),只是針對於使用Java程序的用戶。

JVM

全名:Java Virtual Machine
含義:Java虛擬機
它是整個java實現跨平臺的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執行。
也就是說class並不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行。
只有JVM還不能成class的執行,因為在解釋class的時候JVM需要調用解釋所需要的類庫lib,而jre包含lib類庫。
JVM屏蔽了與具體操作系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。

圖解三者之間的關系

技術分享圖片

Java JDK、JRE、JVM的區別與聯系