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