網(wǎng)絡(luò)虛擬化的特點(diǎn)包括 java虛擬機(jī)是用什么語(yǔ)言編寫(xiě)的?它的原理誰(shuí)能通俗的講出來(lái)嗎?
java虛擬機(jī)是用什么語(yǔ)言編寫(xiě)的?它的原理誰(shuí)能通俗的講出來(lái)嗎?Java與其他虛擬機(jī)沒(méi)有區(qū)別,因?yàn)樗看味伎梢詧?zhí)行字節(jié)碼。主流的JavaVM大多是用C語(yǔ)言實(shí)現(xiàn)的,然后用匯編語(yǔ)言輔助實(shí)現(xiàn),用Java實(shí)現(xiàn)J
java虛擬機(jī)是用什么語(yǔ)言編寫(xiě)的?它的原理誰(shuí)能通俗的講出來(lái)嗎?
Java與其他虛擬機(jī)沒(méi)有區(qū)別,因?yàn)樗看味伎梢詧?zhí)行字節(jié)碼。主流的JavaVM大多是用C語(yǔ)言實(shí)現(xiàn)的,然后用匯編語(yǔ)言輔助實(shí)現(xiàn),用Java實(shí)現(xiàn)JavaVM的情況有一些,但不多。
下面是使用C語(yǔ)言在智能設(shè)備中實(shí)現(xiàn)虛擬機(jī)的一個(gè)片段。
此代碼是短加法字節(jié)碼的實(shí)現(xiàn)。
這段代碼只是獲取字節(jié)碼并執(zhí)行它。你認(rèn)為JavaVM就是這樣嗎。
為了優(yōu)化虛擬機(jī)的效率,很多人選擇用匯編的方式重寫(xiě)執(zhí)行頻率高的代碼。
小結(jié)是C語(yǔ)言實(shí)現(xiàn)的許多,將與匯編結(jié)合起來(lái)作為輔助工具。有其他語(yǔ)言,但不是主流。
請(qǐng)問(wèn)Java語(yǔ)言有哪些特點(diǎn)?什么是Java虛擬機(jī)?
Java語(yǔ)言是一種分布式的面向?qū)ο笳Z(yǔ)言,具有面向?qū)ο?、平臺(tái)無(wú)關(guān)、簡(jiǎn)單性、解釋與執(zhí)行、多線(xiàn)程、安全性等特點(diǎn)。
Java虛擬機(jī)(JVM)是Java程序的軟件環(huán)境。Java虛擬機(jī)可以理解為以字節(jié)碼作為機(jī)器指令的CPU。在任何操作系統(tǒng)中,只要JVM存在,Java程序就可以運(yùn)行,真正實(shí)現(xiàn)了程序的可移植性。
在執(zhí)行Java程序的過(guò)程中,Java虛擬機(jī)將其管理的內(nèi)存劃分為多個(gè)不同的數(shù)據(jù)區(qū)。這些地區(qū)有自己的目的,也有創(chuàng)造和毀滅的時(shí)間。一些區(qū)域隨著虛擬機(jī)進(jìn)程的開(kāi)始而存在,而一些區(qū)域根據(jù)用戶(hù)線(xiàn)程的開(kāi)始和結(jié)束而建立和銷(xiāo)毀。