虛擬機(jī)究竟是什么:虛擬機(jī)和名字一樣就是個虛擬機(jī)器來模擬通用的計(jì)算機(jī)有著一套虛擬的完善的硬件架構(gòu)如處理器、堆棧、寄存器等還具有相應(yīng)的指令系統(tǒng)。
從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選
虛擬機(jī)是一種規(guī)定好的標(biāo)準(zhǔn)規(guī)范,定義了.class文件在其內(nèi)部運(yùn)行的相關(guān)標(biāo)準(zhǔn)和規(guī)范。一般來講所有的JVM都是基于棧結(jié)構(gòu)的運(yùn)行方式那么不符合這種要求的不算是JVM, 如Android中所使用的Dalvik虛擬機(jī)就不能稱作是JAVA虛擬機(jī)因?yàn)樗腔诩拇嫫鳌?/div>
虛擬機(jī)相關(guān)實(shí)現(xiàn)的產(chǎn)品有很多通常最有名的就是最常用的。
java語言與虛擬機(jī)之間的關(guān)系
Java程式可以跨平臺這是你在許多書或文件早就看過的描述但是跨平臺是怎么一回事?在這之前你得先了解跨平臺是怎么一回事。
其實(shí)對于電腦而言它只認(rèn)識一種語言也就是0101序列所組合而成的指令。當(dāng)你使用的是C/C++等之類的高階語言編寫代碼時(shí)其實(shí)這些語言都是比較貼近人類語言的語法,不過大部門都是英語語義對我們來說還是不夠親切,這都是很多小白入門學(xué)習(xí)的障礙了。這是為了方便人類閱讀及編寫計(jì)算機(jī)也看不懂C/C++這類語言。
你要有個「翻譯員」將你寫的C/C++代碼翻譯為電腦看得懂的0101序列指令這個翻譯員就是所謂的「編譯器」(Compiler):
問題在于每個平臺所認(rèn)識的0101序列并不一樣在Windows上也許某個指令是0101、在Linux下也許是1010,因此不同的平臺必須使用不同的編譯器來編譯你的代碼而在Windows平臺上編譯好的程序也不能直接拿到Linux等其它平臺上執(zhí)行,必須要經(jīng)過重新編譯的動作讓編譯器將你的程式編譯為該平臺可以執(zhí)行的指令。
文章題目:Java究竟為什么需要虛擬機(jī)?(上)
當(dāng)前路徑:http://jinyejixie.com/article38/choesp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站排名、網(wǎng)站導(dǎo)航、商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)