一、Java編譯器
Java中引入了虛擬機(jī)的概念,即在機(jī)器和編譯程序之間加入了一層抽象的虛擬的機(jī)器,。這臺(tái)虛擬的機(jī)器在任何平臺(tái)上都提供給編譯程序一個(gè)共同的接口。編譯程序只需要面向虛擬機(jī),生成虛擬機(jī)能夠理解的代碼,然后由解釋器來(lái)將虛擬機(jī)代碼來(lái)將虛擬機(jī)代碼轉(zhuǎn)換為特定的系統(tǒng)機(jī)器碼執(zhí)行。在Java中,這種提供虛擬機(jī)理解的代碼叫做字節(jié)碼(即擴(kuò)展名為 .class的文件),它不面向任何特定的處理器,僅僅只面向虛擬機(jī)。
1.利用記事本寫(xiě)一段Java代碼
2.將記事本命名為 hello.java
3.cmd+r命令,彈出DOS窗口輸入如下命令 回車(chē)
小結(jié)
到E盤(pán)下就可以看到此次提供虛擬機(jī)理解的代碼叫做字節(jié)碼(即擴(kuò)展名為 .class的文件)
二、Java解釋器
每一種平臺(tái)的解釋器是不相同的,但是實(shí)現(xiàn)虛擬機(jī)是相同的。Java源程序經(jīng)過(guò)編譯器編譯后變成字節(jié)碼,字節(jié)碼由虛擬機(jī)解釋執(zhí)行,虛擬機(jī)將每一條要執(zhí)行的字節(jié)碼送給解釋器,解釋器將其翻譯成特定機(jī)器上的機(jī)器碼,然后在特定的機(jī)器上運(yùn)行。這也就是解釋了Java的編譯與解釋并存的特點(diǎn)
三、采用字節(jié)碼的好處
Java語(yǔ)言通過(guò)字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋語(yǔ)言執(zhí)行效率低的問(wèn)題,同時(shí)又保留了解釋型語(yǔ)言可移植的特點(diǎn)。所以Java程序運(yùn)行時(shí)比較高效,而且,字節(jié)碼并不專一種特定的機(jī)器,所以Java程序無(wú)需編譯便可以在多種不同的計(jì)算機(jī)上運(yùn)行,從而實(shí)現(xiàn)了Java的跨平臺(tái)運(yùn)行。
到此這篇關(guān)于Java之字節(jié)碼以及優(yōu)勢(shì)案例講解的文章就介紹到這了,更多相關(guān)Java之字節(jié)碼以及優(yōu)勢(shì)內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/weixin_45851945/article/details/114645479