JVM屏蔽了與具體操做系統平臺相關的信息,使Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就能夠在多種平臺上不加修改地運行。JVM在執行字節碼時,實際上最終仍是把字節碼解釋成具體平臺上的機器指令執行。編譯虛擬機的指令集與編譯微處理器的指令集很是相似。
JVM是Java語言跨平臺(這裏的「平臺」是指不一樣的操做系統)的基礎,要想在不一樣的操做系統上運行Java程序,就須要在不一樣操做系統上安裝對應的JVM。因此,JVM有Windows版本、MAC版本、Linux版本等。html
JRE包括Java虛擬機和Java程序所需的核心類庫。若是要想運行一個開發好的Java程序,只須要在計算機中安裝JRE便可。
總結:JRE=JVM+Java類庫java
JDK是提供給Java開發人員使用的,包含了JRE和一些Java開發工具,如編譯工具(javac.exe)、打包工具(jar.exe)等。因此安裝了JDK就不須要再安裝JRE了。
做爲Java語言的學習者,咱們必須安裝JDK,沒有JDK,咱們是沒有辦法編譯和運行Java代碼的,這也是幾乎全部的Java入門教程推薦咱們安裝JDK的緣由。
總結:JDK=JRE+Java開發工具框架
就是把企業開發時,經常使用的一些插件、框架,和JDK捆綁到了一塊兒。工具
總結:Java ee 6 with JDK 7=JDK+Java企業級開發工具post