天天看點

2021.11.18——JDK、JRE、JVM、JAR

一、JDK、JRE、JVM的含義和差別

JDK:Java Development Kit 是Sun公司(已被Oracle收購),是Java語言的軟體開發工具包。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK(Software development kit)。

主要用于移動裝置、嵌入式裝置上的java應用程式。JDK是整個java開發的核心,它包含了JAVA的運作環境(JRE)和JAVA工具。JRE:Java運作環境(Java Runtime Environment)是一個軟體,由太陽微系統所研發,JRE可以讓計算機系統運作Java應用程式(Java Application)。JRE的内部有一個Java虛拟機(Java Virtual Machine,JVM)以及一些标準的類别函數庫(Class Library,Java系統類庫)。

JVM:Java Virtual Machine(Java虛拟機),是一種用于計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模拟各種計算機功能來實作的。引入Java語言虛拟機後,Java語言在不同平台上運作時不需要重新編譯。Java語言的可移植性正是建立在Java虛拟機的基礎上。任何平台隻要裝有針對于該平台的Java虛拟機,位元組碼檔案(.class)就可以在該平台上運作。這就是“一次編譯,多次運作”。每個Java程式都離不開Java虛拟機,Java程式的運作依靠具體的Java虛拟機執行個體。

2021.11.18——JDK、JRE、JVM、JAR

JDK相當于是一個編譯器。JRE相當于JVM虛拟機。JDK開發出來的java程式必須在JVM中運作,JRE就提供了這麼一個環境。沒有JDK的話,無法編譯Java程式,如果想隻運作Java程式,要確定已安裝相應的JRE。

二、JAR

JAR檔案(Java歸檔,Java Archive)是一種軟體封包件格式,通常用于聚合大量的Java類檔案、相關的中繼資料和資源(文本、圖檔等)檔案到一個檔案,以便開發Java平台應用軟體或庫。以ZIP格式建構,以.jar為檔案擴充名。使用者可以使用JDK自帶的jar指令建立或提取JAR檔案。也可以使用其他zip壓縮工具,不過壓縮時zip檔案頭裡的條目順序很重要,因為Manifest檔案常需放在首位。JAR檔案内的檔案名是Unicode文本。