1.開(kāi)發(fā)者編寫(xiě)Java源文件(.java文件)芝硬,先經(jīng)過(guò)編譯蚜点,生成字節(jié)碼文件(.class文件);
2.Java運(yùn)行需要JVM的支持吵取,JVM安裝在操作系統(tǒng)中禽额,為字節(jié)碼文件運(yùn)行提供環(huán)境;
具體流程圖如下所示:
3.針對(duì)各種平臺(tái)Java官方提供了不同的JVM版本,只要是標(biāo)準(zhǔn)的字節(jié)碼文件(.class)脯倒,就可以在不同的JVM上運(yùn)行实辑,并且效果相同,實(shí)現(xiàn)“一次編譯到處使用”的效果藻丢;
編譯期
運(yùn)行期
在此也順便聊聊JDK剪撬、JRE、JVM之間的關(guān)系:
JDK:Java Development Kit(Java開(kāi)發(fā)工具包)
JRE:Java Runtime Environment(Java運(yùn)行環(huán)境)
JVM:Java virtual Machines(Java虛擬機(jī))
運(yùn)行一個(gè)Java程序需要的最小環(huán)境為JRE 悠反,開(kāi)發(fā)一個(gè)Java程序需要的最小環(huán)境為JDK残黑。
關(guān)系如下圖所示: