尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
要想開發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核心類庫是jre\lib\rt.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關係圖
>IT兄弟連 Java語法教程 Java開發環境 JVM、JRE、JDK