瞭解JDK、JRE、JVM及Java程式的編譯與執行

懸懸小發表於2020-11-23


前言

  對於Java初學者而言,需要對JDK、JRE、JVM要有一定的瞭解。在我們編寫第一個Java程式之前,還需要對Java的載入與執行有一個簡單的瞭解。

一、JDK、JRE、JVM三者關係

在這裡插入圖片描述

  1. JDK(Java Development Kit)   Java開發工具包
    它是每一個Java軟體開發人員必須安裝的,JDK安裝之後,會自帶一個JRE。

  2. JRE(Java Runtime Environment)  Java執行環境
    執行java程式所必須的環境集合,包含了JVM標準實現及Java核心類庫。如果只需要執行java程式,則不需要安裝JDK,只需要安裝JRE即可。

  3. JVM(Java Virtual Machine)  Java虛擬機器
    JVM是一個虛擬計算機,是實現java程式跨平臺性的法寶。
    在這裡插入圖片描述

二、Java程式的兩個階段-編譯及執行

  一個Java程式從開發到最終執行是這樣進行的。
在這裡插入圖片描述

  • 寫程式碼
      建立.java檔案,在檔案中編寫符合java語法的原始碼,該檔案稱為原始檔

  • 編譯
      使用javac命令對原始檔進行編譯,生成.class檔案,該檔案我們稱之為位元組碼檔案,該檔案的內容並不是二進位制檔案,如果是二進位制檔案,作業系統是可以直接執行的。

  • 執行
      使用java命令執行已經編譯成功的java程式。JVM啟動,通過“類裝載器ClassLoader”從硬碟中找到.class位元組碼檔案並裝載,JVM直譯器對位元組碼進行解釋,最終解釋為二進位制碼,然後作業系統通過執行二進位制指令來和硬體平臺完成互動。

      以上則是java程式載入與執行的全部過程。其中需要重點強調的是:

  1. Java程式從開發到執行包括編譯和執行兩個階段,這兩個階段可以在不同的作業系統中完成,例如在windows環境下進行編譯,在liunx系統下執行,這是因為有JVM機制的存在,做到了一次編譯到處執行,也就是我們所說的跨平臺性和移植性

  2. 編譯階段需要使用javac.exe命令,該命令是在安裝JDK之後就存在的命令,執行階段需要使用java.exe,該命令是在安裝JRE之後存在的命令。

  3. .class位元組碼檔案才是最終要執行的程式,.java原始檔的刪除不影響java程式的執行。

  4. 執行java程式的前提是當前作業系統中安裝了對應版本的JVM,JVM不是單獨安裝的,安裝JRE即可。不同的作業系統需要安裝不同的JRE,不同版本的JRE對應不同版本的JVM。

總結

  瞭解JDK、JRE、JVM三者之間的關係,掌握java程式從編譯到執行的全部過程,理解JVM機制。

相關文章