­

IT兄弟連 Java語法教程 Java開發環境 JVM、JRE、JDK

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/92578635

要想開發Java程式,就需要知道什麼是JVM、JRE以及JDK。JVM是運行Java程式的核心,JRE是支援Java程式運行的環境,而JDK是Java開發的核心,下面我們分別具體介紹它們以及它們之間的關係。

1.JVM(Java Virtual Machine,Java虛擬機)

Java虛擬機簡稱JVM,是一個抽象的電腦,和實際的電腦一樣,它具有指令集並使用不同的存儲區域(記憶體中不同的區域),JVM也就是Java程式的解釋器。不同平台上的JVM也是不同的,但是它們都提供了相同的介面,JVM是Java程式跨平台特性的關鍵元素,只要為不同平台實現了相應的JVM,編譯後的Java位元組碼就可以在該平台上運行。顯然,相同的位元組碼文件想要直接在不同的平台上運行是不可能的(因為不同的平台有不同的指令集),只有通過中間的轉換器(解釋器)才可以實現,JVM就是這個轉換器,在不同平台上的JVM將同一份位元組碼文件轉換為不同平台上相應的機器指令。

Sun(Oracle)公司制定的Java虛擬機規範在技術上規定了JVM的統一標準,及具體定義了JVM中的指令集、暫存器、類文件的格式、棧、垃圾回收堆和存儲區。Sun公司制定的這些規範的目的就是為了提供統一的標準,最終實現Java程式的平台無關性。

2.JRE(Java Runtime Environment,Java運行時環境)

Java運行時環境簡稱JRE,是運行Java應用程式所必須的環境的集合,其中包含了JVM虛擬機實現以及Java核心類庫支援文件。Java核心類庫是jrelibrt.jar這個文件。包括了Jave SE平台的所有類庫。類庫中主要的包如下:

● java.lang:這個是系統的基礎類,比如Object、String等類都是這裡面的,這個包是唯一一個不需要引入(import)就可以使用的包。

● java.io:這裡面是所有輸入輸出有關的類,比如文件操作等。

● java.nio:為了完善io包中的功能,提高io包中性能而編寫的一個新包(但不是為了替代io包)。

● java.net:這裡面是與網路有關的類,比如URL、socket等。

● java.util:這個是系統工具類,其中包括了主要的集合如Collection、List和Map等。

● java.sql:這個是資料庫操作的類,其中包括Connection、Statement等類。

如果僅僅需要運行Java程式,那麼電腦中只需要安裝JRE即可。

3.JDK(Java Development Kit,Java開發工具包)

顧名思義,JDK就是用來開發Java應用程式的軟體包,JDK中包含了JRE以及JVM實現。JDK是Sun公司為了方便開發Java程式而提供的,JDK中提供了常用的編程所需要的工具庫,因此Java開發者必須安裝JDK,在JDK的基礎上才能進行Java程式的開發。JDK中包含的一些常用的基本組件介紹如下:

● javac:編譯器,將Java源程式碼轉換成位元組碼文件。

● java:運行編譯後的位元組碼文件(解釋器)。

● jar:打包工具,將相關的類文件打包成一個.jar文件。

● javadoc:文檔生成器,從源碼中的文檔注釋提取文檔。

我們最後來總結一下JVM、JRE和JDK之間的關係,JDK中包含JRE,JRE中包含JVM,如圖所示:

圖JVM、JRE和JDK關係圖