【Java】JDK,JRE,JVM區(qū)別與聯(lián)系

JDK

Java Development ToolKit(Java開發(fā)工具包)
JDK是整個JAVA的核心,包括了Java運行環(huán)境(Java Runtime Envirnment),一堆Java工具和Java基礎的類庫。

最主流的JDK是Sun公司發(fā)布的JDK,除了Sun之外,還有很多公司和組織都開發(fā)了屬于自己的JDK,例如國外IBM公司開發(fā)了屬于自己的JDK,國內(nèi)淘寶也開發(fā)了屬于自己的JDK,各個組織開發(fā)自己的JDK都是為了在某些方面得到一些提高,以適應自己的需求。
JDK有以下三種版本:

  • J2SE,standard edition,標準版,是通常用的一個版本。
  • J2EE,enterpsise edition,企業(yè)版,使用這種JDK開發(fā)J2EE應用程序。
  • J2ME,micro edition,主要用于移動設備、嵌入式設備上的Java應用程序。

JRE

Java Runtime Enviromental(Java運行時環(huán)境),也就是我們說的Java平臺,所有的Java程序都要在JRE下才能運行。包括JVM和Java核心類庫和支持文件。與JDK相比,它不包含開發(fā)工具:編譯器、調(diào)試器和其他工具。

JVM

Java Virtual Mechinal(JAVA虛擬機)。JVM是JRE的一部分,它是一個虛構(gòu)出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現(xiàn)的。JVM有自己完善的硬件架構(gòu),如處理器、堆棧、寄存器等,還具有相應的指令系統(tǒng)。JVM的主要工作是解釋自己的質(zhì)量集(即字節(jié)碼)并映射到本地的CPU的指令集或OS的系統(tǒng)調(diào)用。Java語言是跨平臺運行的,其實就是不同的操作系統(tǒng),使用不同的JVM映射規(guī)則,讓其與操作系統(tǒng)無關(guān),完成了跨平臺性。JVM對上層的Java源文件是不關(guān)心的,它關(guān)注的只是由源文件生成的類文件。類文件的組成包括JVM指令集,符合表以及一些補助信息。

JDK、JRE、JVM三者間的關(guān)系如圖所示:

我們開發(fā)的實際情況是:我們利用JDK(調(diào)用Java API)開發(fā)了屬于我們自己的Java程序后,通過JDK中的編譯程序(javac)將我們的java文件編譯成Java字節(jié)碼,在JRE上運行java字節(jié)碼,JVM解析這些字節(jié)碼,映射到CPU指令集或OS的系統(tǒng)調(diào)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容