1、JVM -- java virtual machine
jvm即java虛擬機,它主要有一個功能就是將編譯好的class文件進行解釋執行,因為class文件不能由操作系統直接執行,需要有jvm解釋方可執行。
jdk-->jre-->bin可以認為該目錄即為jvm
2、JRE -- java runtime environment
jre是指java運行時環境,class文件在運行時需要調用各種java的類庫,即jvm要想運行class文件必須要依賴jre中的lib庫,可以認為,jvm+lib組成jre。
如圖,jre即由bin+lib組成,也就是說jre包含了jvm以及執行class文件所需要的類庫lib。
3、JDK -- java development kit
JDK即java開發工具包。
在目錄下面有六個文件夾、一個src類庫源碼壓縮包、和其他幾個聲明文件。其中,真正在運行java時起作用的是以下四個文件夾:bin、include、lib、jre。現在我們可以看出這樣一個關系,JDK包含JRE,而JRE包含JVM。
bin:最主要的是編譯器(javac.exe)
include:java和JVM交互用的頭文件
lib:類庫
jre:java運行環境
至此可知,jdk主要面向開發者,具有java的編譯功能,jre主要面向用戶,主要是class文件的運行,假如我們只有編譯好的class文件和jre,那么就可以運行class了。