JDK:java
Java Development Tool Kit(Java開發工具包)。JDK就是咱們用來作事情的工具,它包括JRE還有其餘工具。咱們所說版本的不一樣,也就是說它裏面的工具備差別。就像是你不一樣的工具箱裏放着不一樣的工具同樣。舉個例子:最經常使用的一個就是javac,它是把.java的文件翻譯成.class文件的工具。而後讓JVM來執行.class文件中的字節碼。(就像電腦的CPU只認識或1的道理)編程
JRE:工具
Java Runtime Environment(Java運行環境)。就是能夠運行Java程序的地方。就像是咱們要在電腦上運行一個視頻軟件的時候必須在Windows或者是Linux等操做系統上同樣。那咱們就能夠把它看作是一個操做系統。也就是說JRE提供了Java執行的軟件平臺。在運行Java的過程當中除了須要有JVM執行Java代碼這個動做外,還須要JavaAPI(Application Programming Interface,應用編程接口)說簡單的就是「類庫」。Java程序在運行中沒有這些API是不行的,因此JRE包含JVM。開發工具
JVM:spa
Java Virtual Machine(Java虛擬機)。它的實現具體有:指令集寄存器組類文件格式棧垃圾收集堆內存區。能夠把它理解成是專門用來執行Java程序的一臺機器。也就是說JVM提供了Java執行的硬件平臺。JVM上執行的代碼都存放在.CLASS文件中。JVM只執行字節碼文件。操作系統