卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

文章代寫 java虛擬機(jī)是用什么語(yǔ)言編寫的?它的原理誰(shuí)能通俗的講出來嗎?

java虛擬機(jī)是用什么語(yǔ)言編寫的?它的原理誰(shuí)能通俗的講出來嗎?Java虛擬機(jī)的功能是執(zhí)行Java字節(jié)碼,其編碼實(shí)現(xiàn)是一個(gè)死循環(huán)。每個(gè)循環(huán)都是獲取字節(jié)碼并執(zhí)行字節(jié)碼的過程,因此與其他程序沒有本質(zhì)區(qū)別。主

java虛擬機(jī)是用什么語(yǔ)言編寫的?它的原理誰(shuí)能通俗的講出來嗎?

Java虛擬機(jī)的功能是執(zhí)行Java字節(jié)碼,其編碼實(shí)現(xiàn)是一個(gè)死循環(huán)。每個(gè)循環(huán)都是獲取字節(jié)碼并執(zhí)行字節(jié)碼的過程,因此與其他程序沒有本質(zhì)區(qū)別。主流的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ī)的效率,很多人選擇用匯編的方式重寫執(zhí)行頻率高的代碼。

小結(jié)是C語(yǔ)言實(shí)現(xiàn)的許多,將與匯編結(jié)合起來作為輔助工具。有其他語(yǔ)言,但不是主流。

如果要編寫一個(gè)虛擬機(jī)需要了解哪些方面的知識(shí)?

虛擬機(jī)是一個(gè)抽象的計(jì)算機(jī),它有一個(gè)指令集,使用不同的存儲(chǔ)區(qū)域,就像真正的計(jì)算機(jī)一樣。它負(fù)責(zé)執(zhí)行指令,以及管理數(shù)據(jù)、內(nèi)存和寄存器。這個(gè)虛擬機(jī)為任何平臺(tái)上的編譯器提供了一個(gè)公共接口。編譯器只需面向虛擬機(jī),生成虛擬機(jī)能夠理解的代碼,然后解釋器就可以將虛擬機(jī)代碼轉(zhuǎn)換成特定系統(tǒng)的機(jī)器代碼來執(zhí)行。虛擬機(jī)屬于模擬器,是一個(gè)不小的工程。學(xué)習(xí)別人的仿真器代碼應(yīng)該會(huì)有很大的幫助。其實(shí)我們實(shí)現(xiàn)這個(gè)虛擬機(jī)就是為了實(shí)現(xiàn)一個(gè)編譯器,這本書中介紹的編譯器原理和設(shè)計(jì)與編譯原理,對(duì)您有很大的幫助。要編寫虛擬機(jī),您需要了解以下方面:

1。首先,您需要了解虛擬機(jī)體系結(jié)構(gòu)的指令系統(tǒng)以及有哪些指令。指令格式、尋址方式等

2。執(zhí)行每一個(gè)指令。為每條指令編寫一個(gè)函數(shù)以運(yùn)行該指令。這必須有一個(gè)非常深刻的編程技巧。

3. 如果你對(duì)Java虛擬機(jī)有足夠的了解。。有一本書叫做深入Java虛擬機(jī)。你可以研究它!它能幫你很多忙。

如何在虛擬機(jī)上編寫和運(yùn)行c程序?

要編寫虛擬機(jī)代碼,需要定義程序的指令。

1. 使用VIM/GVIM編輯器編寫代碼并將其保存為文件測(cè)試.cpp在命令行上使用G-O測(cè)試測(cè)試.cpp編譯,生成測(cè)試可執(zhí)行文件,測(cè)試運(yùn)行文件。

2. 它是以內(nèi)核的形式編寫的,編譯成模塊,插入到主機(jī)中,這樣模塊下來就不會(huì)影響程序的其他部分。

3. 在clang3.4中,還可以使用其他支持C99/C11的編譯器和文本編輯器。我建議使用基于ide的文本編輯器。我用Emacs,基本編程知識(shí),基本變量,過程控制,函數(shù)數(shù)據(jù)結(jié)構(gòu)等使程序可以更快。