1. 程式人生 > >Java學習入門--(1)JDK、JRE、JVM三者間的關係

Java學習入門--(1)JDK、JRE、JVM三者間的關係

學習JAVA前必須瞭解Java跨平臺特性,Java 為什麼能跨平臺,實現一次編寫,多處執行?
Java 能夠跨平臺執行的核心在於 JVM(Java虛擬機器) 。不是 Java 能夠跨平臺,而是它的 jvm 能夠跨平臺執行。我們知道,不同的作業系統向上的 API 肯定是不同的,那麼如果我們想要寫一段程式碼呼叫系統的聲音裝置,就需要針對不同系統的 API 寫出不同的程式碼來完成動作。

而 Java 引入了位元組碼的概念,jvm 只能認識位元組碼,並將它們解釋到系統的 API 呼叫。針對不同的系統有不同的 jvm 實現,有 Linux 版本的 jvm 實現,也有 Windows 版本的 jvm 實現,但是同一段程式碼在編譯後的位元組碼是一樣的。引用上面的例子,在 Java API 層面,我們呼叫系統聲音裝置的程式碼是唯一的,和系統無關,編譯生成的位元組碼也是唯一的。但是同一段位元組碼,在不同的 jvm 實現上會對映到不同系統的 API 呼叫,從而實現程式碼的不加修改即可跨平臺執行。

JDK(Java Development Kit)是針對Java開發員的產品,是整個Java的核心,包括了Java執行環境JRE、Java工具(例如:javac.exe,java.exe,jar.exe 等)和Java基礎類庫。Java Runtime Environment(JRE)是執行JAVA程式所必須的環境的集合,包含JVM標準實現及Java核心類庫。JVM是Java Virtual Machine(Java虛擬機器)的縮寫,是整個java實現跨平臺的最核心的部分,能夠執行以Java語言寫的軟體程式,它只認識.class型別檔案,能夠將class檔案中的位元組碼指令進行識別並呼叫作業系統對應的API完成相應的動作。
Java學習入門--(1)JDK、JRE、JVM三者間的關係