Java基礎(chǔ)學(xué)習(xí):Java語言的執(zhí)行模式

Java基礎(chǔ)學(xué)習(xí):Java語言的執(zhí)行模式

深圳達(dá)內(nèi)教育      2022-04-12 22:00:01     8

Java基礎(chǔ)學(xué)習(xí):Java語言的執(zhí)行模式,  Java程序的運(yùn)行必須經(jīng)過編寫、編譯和運(yùn)行3個(gè)步驟?! 【帉懀菏侵冈贘ava開發(fā)環(huán)境中進(jìn)行程序代碼的輸入,最終形成后綴名為.ja

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹


  Java程序的運(yùn)行必須經(jīng)過編寫、編譯和運(yùn)行3個(gè)步驟。


  編寫:是指在Java開發(fā)環(huán)境中進(jìn)行程序代碼的輸入,最終形成后綴名為.java的Java源文件。


  編譯:是指使用Java編譯器對(duì)源文件進(jìn)行錯(cuò)誤排査的過程,編譯后將生成后綴名為.class的字節(jié)碼文件,不像C語言那樣生成可執(zhí)行文件。


  運(yùn)行:是指使用Java解釋器將字節(jié)碼文件翻譯成機(jī)器代碼,執(zhí)行并顯示結(jié)果。


  Java程序運(yùn)行流程如圖1所示。



  字節(jié)碼文件是一種和任何具體機(jī)器環(huán)境及操作系統(tǒng)環(huán)境無關(guān)的中間代碼。它是一種二進(jìn)制文件,是Java源文件由Java編譯器編譯后生成的目標(biāo)代碼文件。編程人員和計(jì)算機(jī)都無法直接讀懂字節(jié)碼文件,它必須由專用的Java解釋器來解釋執(zhí)行,因此Java是一種在編譯基礎(chǔ)上進(jìn)行解釋運(yùn)行的語言。


  Java解釋器負(fù)責(zé)將字節(jié)碼文件翻譯成具體硬件環(huán)境和操作系統(tǒng)平臺(tái)下的機(jī)器代碼,以便執(zhí)行。因此Java程序不能直接運(yùn)行在現(xiàn)有的操作系統(tǒng)平臺(tái)上,它必須運(yùn)行在被稱為Java虛擬機(jī)的軟件平臺(tái)之上。


  Java虛擬機(jī)(JVM)是運(yùn)行Java程序的軟件環(huán)境,Java解釋器是Java虛擬機(jī)的一部分。在運(yùn)行Java程序時(shí),首先會(huì)啟動(dòng)JVM,然后由它來負(fù)責(zé)解釋執(zhí)行Java的字節(jié)碼程序,并且Java字節(jié)碼程序只能運(yùn)行于JVM之上。這樣利用JVM就可以把Java字節(jié)碼程序和具體的硬件平臺(tái)以及操作系統(tǒng)環(huán)境分隔開來,只要在不同的計(jì)算機(jī)上安裝了針對(duì)特定平臺(tái)的JVM,Java程序就可以運(yùn)行,而不用考慮當(dāng)前具體的硬件平臺(tái)及操作系統(tǒng)環(huán)境,也不用考慮字節(jié)碼文件是在何種平臺(tái)上生成的。


  JVM把這種不同軟、硬件平臺(tái)的具體差別隱藏起來,從而實(shí)現(xiàn)了真正的二進(jìn)制代碼級(jí)的跨平臺(tái)移植。JVM是Java平臺(tái)架構(gòu)的基礎(chǔ),Java的跨平臺(tái)特性正是通過在JVM中運(yùn)行Java程序?qū)崿F(xiàn)的。Java的這種運(yùn)行機(jī)制可以通過圖2來說明。



  Java語言這種“一次編寫,到處運(yùn)行”的方式,有效地解決了目前大多數(shù)高級(jí)程序設(shè)計(jì)語言需要針對(duì)不同系統(tǒng)來編譯產(chǎn)生不同機(jī)器代碼的問題,即硬件環(huán)境和操作平臺(tái)的異構(gòu)問題,大大降低了程序開發(fā)、維護(hù)和管理的開銷。


  提示:Java程序通過JVM可以實(shí)現(xiàn)跨平臺(tái)特性,但JVM是不跨平臺(tái)的。也就是說,不同操作系統(tǒng)之上的JVM是不同的,Windows平臺(tái)之上的JVM不能用在Linux平臺(tái),反之亦然。


    以上就是深圳達(dá)內(nèi)教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java基礎(chǔ)學(xué)習(xí):Java語言的執(zhí)行模式”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


Java基礎(chǔ)學(xué)習(xí)

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。