什么是java虛擬主機(jī)?很多人對java虛擬主機(jī)不太了解,不知道java虛擬主機(jī)到底是干什么的,其實Java虛擬主機(jī)是常見虛擬主機(jī)中的一種。下面聚名網(wǎng)小編就帶大家看看什么是java虛擬主機(jī)。
java虛擬主機(jī)介紹
Java虛擬機(jī)(JVM)是運行Java字節(jié)碼的虛擬機(jī),它是java編程語言的核心。當(dāng)我們運行程序時,JVM負(fù)責(zé)將字節(jié)代碼轉(zhuǎn)換為特定于機(jī)器的代碼。JVM還依賴于平臺,并提供核心Java函數(shù),如內(nèi)存管理,垃圾收集,安全性等。
JVM被稱為虛擬,因為它提供的接口不依賴于底層操作系統(tǒng)和機(jī)器硬件。這種與硬件和操作系統(tǒng)的獨立性使得java程序可以在任何地方進(jìn)行一次寫入。
在現(xiàn)實世界中,JVM是一種規(guī)范,它提供了一個可以執(zhí)行Java字節(jié)碼的運行時環(huán)境。
JDK,JVM,JRE三者之間的聯(lián)系
JVM就是我們常說的java虛擬機(jī),它是整個java實現(xiàn)跨平臺的 最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可 以在虛擬機(jī)上執(zhí)行,也就是說class并不直接與機(jī)器的操作系統(tǒng)相對應(yīng),而是經(jīng)過虛擬機(jī)間接與操作系統(tǒng)交互,由虛擬機(jī)將程序解 釋給本地系統(tǒng)執(zhí)行。
JRE是指java運行環(huán)境。光有JVM還不能成class的 執(zhí)行,因為在解釋class的時候JVM需要調(diào)用解釋所需要的類庫lib。 在JDK的安裝目 錄里你可以找到j(luò)re目錄,里面有兩個文件夾bin和lib,在 這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工 作所需要的類庫,而jvm和 lib和起來就稱為jre。
JDK是java開發(fā)工具包,開發(fā)者用來編譯和調(diào)試,基本上每個學(xué)java的人都會先在機(jī)器 上裝一個JDK,那他都包含哪幾部分呢?讓我們看一下JDK的安裝目錄。在目錄下面有 六個文件夾、一個src類庫源碼壓縮包、和其他幾個聲明文件。其中,真正在運行java時起作用的 是以下四個文件夾:bin、include、lib、 jre?,F(xiàn)在我們可以看出這樣一個關(guān)系,JDK包含JRE,而JRE包 含JVM。
Java虛擬機(jī)執(zhí)行程序的過程
1) 加載.class文件
2) 管理并分配內(nèi)存
3) 執(zhí)行垃圾收集
JRE(java運行時環(huán)境)由JVM構(gòu)造的java程序的運行環(huán),也是Java程序運行的環(huán)境,但是他同時一個操作系統(tǒng)的一個應(yīng)用程序一個進(jìn)程,因此他也有他自己的運行的生命周期,也有自己的代碼和數(shù)據(jù)空間。
Java虛擬機(jī)在整個jdk中處于最底層,負(fù)責(zé)于操作系統(tǒng)的交互,用來屏蔽操作系統(tǒng)環(huán)境,提供一個完整的Java運行環(huán)境,因此也就虛擬計算機(jī)。
以上的就是對什么是java虛擬主機(jī)的介紹,如果大家想了解更對虛擬主機(jī)建站,詳情請關(guān)注:https://yiqifu.com/zhuji