JDK : Java Development ToolKit(Java開(kāi)發(fā)工具包)辞居。JDK是整個(gè)JAVA的核心嗅绰,包括了Java運(yùn)行環(huán)境(Java Runtime Envirnment)查库,一堆Java工具(javac/java/jdb等)和Java基礎(chǔ)的類(lèi)庫(kù)(即Java API 包括rt.jar)严衬。
JRE:Java Runtime Enviromental(java運(yùn)行時(shí)環(huán)境)织中。也就是我們說(shuō)的JAVA平臺(tái)掘猿,所有的Java程序都要在JRE下才能運(yùn)行病游。包括JVM和JAVA核心類(lèi)庫(kù)和支持文件。與JDK相比稠通,它不包含開(kāi)發(fā)工具——編譯器衬衬、調(diào)試器和其它工具。
JVM:Java Virtual Mechinal(JAVA虛擬機(jī))改橘。JVM是JRE的一部分滋尉,它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的飞主。JVM有自己完善的硬件架構(gòu)狮惜,如處理器、堆棧碌识、寄存器等碾篡,還具有相應(yīng)的指令系統(tǒng)。JVM 的主要工作是解釋自己的指令集(即字節(jié)碼)并映射到本地的 CPU 的指令集或 OS 的系統(tǒng)調(diào)用筏餐。Java語(yǔ)言是跨平臺(tái)運(yùn)行的开泽,其實(shí)就是不同的操作系統(tǒng),使用不同的JVM映射規(guī)則魁瞪,讓其與操作系統(tǒng)無(wú)關(guān)穆律,完成了跨平臺(tái)性惠呼。JVM 對(duì)上層的 Java 源文件是不關(guān)心的,它關(guān)注的只是由源文件生成的類(lèi)文件( class file)峦耘。類(lèi)文件的組成包括 JVM 指令集罢杉,符號(hào)表以及一些補(bǔ)助信息。