- 好好學Java:從零基礎到項目實戰
- 歐陽燊
- 581字
- 2022-07-27 19:14:48
1.3.3 JVM、JRE與JDK的區別
既然JVM貴為Java程序的運行環境,為什么之前安裝的是JDK而非JVM呢?這是因為JVM僅僅定義了一套運行規范,并未指明只有Java程序才能運行于JVM。相反,如果其他編程語言遵循JVM的運行規范,那么同樣能夠運行于JVM。除了Java語言外,還有Kotlin、Scala、Clojure、Groovy等編程語言支持JVM,它們的代碼也能由JVM編譯運行。
不過由于JVM只定義了一套規范,本身沒有包含更具體的實現類庫,因此真正的Java運行環境是更上一層的JRE(Java Runtime Environment,即Java運行環境)。JRE是運行Java程序所必需的環境集合,它包含JVM的標準實現和Java的核心類庫。
雖然有了JRE就能實時地運行Java程序,但是對開發人員來說遠遠不夠,因為開發者還需要編譯、排錯、打包、數據分析、性能優化等功能支持,所以最終提供給開發者下載的是JDK(Java Development Kit,Java開發工具包)。JDK不但包含JRE的所有內容,而且附加了一些實用小工具,例如javac.exe、java.exe、jar.exe等。
綜上所述,JVM、JRE與JDK三者之間的包含關系為JDK>JRE>JVM。
如果讀者安裝的JDK是Java 8,在JDK的安裝目錄下就會看到有一個名叫jre的子目錄,這是JRE程序包所在,同時說明JDK已經將JRE包括在內。如果讀者安裝的JDK是Java 11,在JDK的安裝目錄下就看不到jre子目錄,這是因為以前的JDK設立jre目錄是為了方便獨立更新JRE,而從Java 11開始不再單設jre了。如果開發者確實需要單獨的JRE,那么可使用命令行進入JDK的安裝目錄,然后執行以下命令:
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
命令執行完畢,即可在JDK安裝目錄下看到多了一個jre子目錄。
- Learning Python Web Penetration Testing
- Spring Boot+Spring Cloud+Vue+Element項目實戰:手把手教你開發權限管理系統
- 你必須知道的204個Visual C++開發問題
- R的極客理想:工具篇
- Python編程實戰
- RabbitMQ Essentials
- Learning jQuery(Fourth Edition)
- 從零開始學C#
- Internet of Things with ESP8266
- 遠方:兩位持續創業者的點滴思考
- Java 9 with JShell
- 你好!Java
- Bitcoin Essentials
- WCF全面解析
- Python 3.6從入門到精通(視頻教學版)