教學來源:
Understand the Differences between JVM vs JRE vs JDK in java in one video
Java虛擬機(英語:Java Virtual Machine,縮寫為JVM),一種能夠執行Java bytecode的虛擬機器,以堆疊結構機器來進行實做。最早由昇陽電腦所研發並實現第一個實現版本,是Java平臺的一部份,能夠執行以Java語言寫作的軟體程式。
Java虛擬機器有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。JVM封鎖了與具體作業系統平台相關的資訊,使得Java程式只需生成在Java虛擬機器上執行的目的碼(位元組碼),就可以在多種平台上不加修改地執行。
JVM是最小的單位,是平台依賴的,不同軟硬體有不同JVM;JVM是抽象的,實際沒有檔案叫JVM。
Java執行環境(Java Runtime Environment,簡稱JRE)是一個軟體,由昇陽電腦所研發,JRE可以讓電腦系統執行Java應用程式(Java Application)。
JRE就是JVM+library(函式庫,將一群已經寫好的Method(Function)包成一個Library,當import這個Library後就能使用其包含的Method,像是:程式前面的import java.util.ArrayList,讓ArrayList能夠使用。),JRE是實際的最小單位,有資料夾叫JRE。像是常看到的這個資料夾:
Java Development Kit(JDK)是昇陽電腦針對Java開發人員發布的免費軟體開發套件(SDK,Software development kit)
JDK = JVM + library + development tools(debugger 、complier 、javadoc)。
Complier跟javac有關,jdk的bin有javac.exe,jre的bin沒有javac.exe
所以在jre只能編譯.class,不能編譯.java。