JAVA項(xiàng)目實(shí)戰(zhàn)營
Java虛擬機(jī)(JVM)
Java Virtual Machine 一個軟件模擬的計(jì)算機(jī)。Java源程序想象成我們的C源程序,Java源程序編譯后生成的字節(jié)碼(.class)就相當(dāng)于C源程序編譯后的二進(jìn)制可執(zhí)行文件。JVM虛擬機(jī)相當(dāng)于計(jì)算機(jī)系統(tǒng)(操作系統(tǒng)+硬件環(huán)境),Java解釋器相當(dāng)于CPU。
.exe文件直接在windows操作系統(tǒng)下運(yùn)行,在CPU上運(yùn)行的是機(jī)器碼(.exe文件)
.class字節(jié)碼文件是運(yùn)行在JVM虛擬機(jī)下的,在Java解釋器上運(yùn)行的是Java字節(jié)碼。
Java解釋器相當(dāng)于運(yùn)行Java字節(jié)碼的“CPU”,但該“CPU”不是通過硬件實(shí)現(xiàn)的,而是用軟件實(shí)現(xiàn)的。Java解釋器實(shí)際上就是特定的平臺下的一個應(yīng)用程序。只要實(shí)現(xiàn)了特定平臺下的解釋器程序,Java字節(jié)碼就能通過解釋器程序在該平臺下運(yùn)行,這是Java跨平臺的根本。當(dāng)前,并不是在所有的平臺下都有相應(yīng)Java解釋器程序,這也是Java并不能在所有的平臺下都能運(yùn)行的原因,它只能在已實(shí)現(xiàn)了Java解釋器程序的平臺下運(yùn)行。
標(biāo)簽: