好多開(kāi)發(fā)者學(xué)習(xí) Java 編程有若干個(gè)年頭了,但真正了解JDK,JRE和JVM之間的區(qū)別應(yīng)該不多,別不服,大概是因?yàn)槠綍r(shí)都是在Coding <=> Bug
,沒(méi)有時(shí)間去閱讀相關(guān)資料吧。
了解JDK,JRE和JVM之間的區(qū)別在Java中很重要,在這里簡(jiǎn)要概述了JVM。
如果要了解Java虛擬機(jī)的詳細(xì)知識(shí),請(qǐng)轉(zhuǎn)到下一頁(yè)。 首先,讓我們來(lái)看看JDK,JRE和JVM之間的基本區(qū)別。
JVM(Java虛擬機(jī))是一個(gè)抽象機(jī)器。它是一個(gè)提供可以執(zhí)行Java字節(jié)碼的運(yùn)行時(shí)環(huán)境的規(guī)范。
JVM可用于許多硬件和軟件平臺(tái)。JVM,JRE和JDK是平臺(tái)相關(guān)的,因?yàn)槊總€(gè)OS的配置不同。 但是,Java是平臺(tái)無(wú)關(guān)的。
JVM執(zhí)行以下主要任務(wù):
JRE是Java Runtime Environment
的縮寫(xiě)。它用于提供運(yùn)行時(shí)環(huán)境。它是JVM的實(shí)現(xiàn)。它是實(shí)際存在的。它包含一組庫(kù)和JVM在運(yùn)行時(shí)使用的其他文件。
Sun Micro Systems以外的其他公司也積極發(fā)布JVM的實(shí)施(實(shí)現(xiàn))。
JDK是Java Development Kit
的縮寫(xiě),它是實(shí)際上存在的。它包含JRE+開(kāi)發(fā)工具。如下圖所示 -