JDK、JRE、JVM的區別的聯絡
很多朋友可能跟我一樣,已經使用JAVA開發很久了,可是對JDK,JRE,JVM這三者的聯絡與區別,一直都是模模糊糊的。
今天特寫此文,來整理下三者的關係。
JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java執行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。
最主流的JDK是Sun公司釋出的JDK,除了Sun之外,還有很多公司和組織都開發了屬於自己的JDK,例如國外IBM
JDK有以下三種版本:
J2SE,standard edition,標準版,是我們通常用的一個版本J2EE,enterpsise edtion,企業版,使用這種JDK開發J2EE應用程式J2ME,micro edtion,主要用於移動裝置、嵌入式裝置上的java應用程式
我們常常用JDK來代指Java API,Java API是
JRE:Java RuntimeEnviromental(java執行時環境)。也就是我們說的JAVA平臺,所有的Java程式都要在JRE下才能執行。包括JVM和JAVA核心類庫和支援檔案。與JDK相比,它不包含開發工具——編譯器、偵錯程式和其它工具。
JVM:Java Virtual Mechinal(JAVA
我們開發的實際情況是:我們利用JDK(呼叫JAVA
API)開發了屬於我們自己的JAVA程式後,通過JDK中的編譯程式(javac)將我們的文字java檔案編譯成JAVA位元組碼,在JRE上執行這些JAVA位元組碼,JVM解析這些位元組碼,對映到CPU指令集或OS的系統呼叫。