国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

虛擬機(jī)概論(六)——JAVA虛擬機(jī)模型

2019-11-18 13:41:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

java虛擬機(jī)模型



由于它的高度可移植性,JAVA已經(jīng)成為Internet上的主要編程語(yǔ)言。



“模擬機(jī)”的概念是計(jì)算機(jī)工業(yè)界經(jīng)常使用的對(duì)虛擬機(jī)的解釋之一。這種虛擬機(jī)概念和IBM版的虛擬機(jī)非常不同。在IBM的概念中,系統(tǒng)內(nèi)存和資源被分割,成為當(dāng)前機(jī)器的精確拷貝。而對(duì)于模擬機(jī),系統(tǒng)并不被分割,而是有一臺(tái)新的“機(jī)器”或者虛擬機(jī)加載到當(dāng)前系統(tǒng)中,在不改變當(dāng)前系統(tǒng)的前提下,向用戶提供不同的功能。這種類(lèi)型的虛擬機(jī)被證實(shí)是非常強(qiáng)大的,它答應(yīng)軟件開(kāi)發(fā)人員在一臺(tái)完全不同的機(jī)器上仿效另一臺(tái)機(jī)器。最近,這種觀念創(chuàng)造了一種強(qiáng)大的計(jì)算機(jī)程序語(yǔ)言:JAVA。



JAVA程序設(shè)計(jì)語(yǔ)言依靠于被稱做JAVA虛擬機(jī)(Java virtual machine,JVM)的模擬機(jī)。JVM使得程序員不是和系統(tǒng)打交道,而是和虛擬機(jī)打交道。因此程序員使用的函數(shù)是JVM內(nèi)嵌的函數(shù),而不是操作系統(tǒng)的函數(shù)。這非常先進(jìn),因?yàn)樗峁┝丝梢浦残浴<偃缦嗤腏VM安裝在兩個(gè)完全不同的機(jī)器上,那么同一個(gè)JAVA程序應(yīng)該在兩臺(tái)機(jī)器上都可以運(yùn)行,因?yàn)镴AVA程序依靠于JVM,而不是運(yùn)行它的系統(tǒng)。由于它的高度可移植性,JAVA已經(jīng)成為Internet上的主要編程語(yǔ)言。許多Web頁(yè)面現(xiàn)在都和JAVA程序結(jié)合在一起。這些JAVA程序可以完成一些在瀏覽器中顯示的任務(wù)。



同時(shí),JVM也非常小。或者說(shuō),它不站用大量的內(nèi)存。這意味著JVM可以被應(yīng)用于許多不同的機(jī)器。例如,電視機(jī),蜂窩移動(dòng)電話,以及計(jì)算機(jī),都可以。因此,完全有可能向我們今天正在使用的設(shè)備中添加像游戲這樣的復(fù)雜功能。



它是如何工作的?



你現(xiàn)在所迷惑的可能是一個(gè)JAVA程序究竟是如何工作的。如何使用JVM?好的,JVM是我們對(duì)抽象計(jì)算機(jī)的稱呼。或者說(shuō),JVM是在“真正的”硬件平臺(tái)和操作系統(tǒng)上用軟件來(lái)實(shí)現(xiàn)的。JAVA程序是為JVM編譯,而不是系統(tǒng)。這就意味著程序員寫(xiě)的JAVA程序由JAVA編譯器翻譯成JVM執(zhí)行的語(yǔ)言/代碼。這些代碼被稱做字節(jié)代碼(Byte Code)。字節(jié)代碼可以被認(rèn)為是JVM的機(jī)器語(yǔ)言。JVM把字節(jié)代碼流解釋成指令序列。然后這些指令被執(zhí)行,生成期望的輸出。圖1.1展示了從JAVA程序到最終執(zhí)行的路線。









如圖1.1所示,一旦字節(jié)代碼被JVM解釋?zhuān)琂VM指令就會(huì)被映射成操作系統(tǒng)指令或者硬件指令。這就意味著JVM實(shí)際上是使用操作系統(tǒng)和機(jī)器指令來(lái)實(shí)現(xiàn)它所獲取的指令。因此,JVM的指令在每一個(gè)安裝JVM的操作系統(tǒng)或機(jī)器上都必須有一個(gè)可能的映射才能工作。這就是為什么JAVA語(yǔ)言并沒(méi)有達(dá)到100%可移植的原因之一。可能有的JVM指令在一種操作系統(tǒng)上可以實(shí)現(xiàn),而在另外一種操作系統(tǒng)上不能實(shí)現(xiàn)。



小結(jié)



JAVA虛擬機(jī)的主要目的就是去解決計(jì)算機(jī)程序的可移植問(wèn)題。問(wèn)題是JVM完全解決這個(gè)問(wèn)題了嗎?答案是沒(méi)有……它沒(méi)有完全解決這個(gè)問(wèn)題。但是,它提供了一種對(duì)大部分都有效的解決方案(盡管不是100%有效)。JAVA已經(jīng)實(shí)現(xiàn)相當(dāng)高的可移植性。JAVA的力量使人們可以開(kāi)發(fā)許多跨平臺(tái)的應(yīng)用程序。JAVA已經(jīng)證實(shí)是有用的,強(qiáng)大的虛擬機(jī)實(shí)現(xiàn)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 含山县| 周至县| 明星| 榆树市| 视频| 长兴县| 长白| 湛江市| 罗定市| 京山县| 富锦市| 亚东县| 福鼎市| 张家界市| 南丰县| 秀山| 博野县| 安福县| 南阳市| 通江县| 油尖旺区| 尼勒克县| 大同市| 冀州市| 莫力| 腾冲县| 瓮安县| 平南县| 永修县| 馆陶县| 安化县| 五峰| 延寿县| 德令哈市| 井冈山市| 施甸县| 三门峡市| 文昌市| 峡江县| 乌拉特中旗| 长宁县|