發(fā)布時(shí)間:2022-03-15 15:09:07來源:轉(zhuǎn)載
Java 語言這種“一次編寫,到處運(yùn)行”的方式,有效地解決了目前大多數(shù)高級(jí)程序設(shè)計(jì)語言需要針對(duì)不同系統(tǒng)來編譯產(chǎn)生不同機(jī)器代碼的問題,即硬件環(huán)境和操作平臺(tái)的異構(gòu)問題,大大降低了程序開發(fā)、維護(hù)和管理的開銷。今天我們來講講:Java開發(fā)程序的運(yùn)行流程。
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é)碼文件
字節(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)行的語言。
2、Java 解釋器
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)之上。
3、Java 虛擬機(jī)(JVM)
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)的。
雅思 托福 GRE SSAT SAT GMAT ACT 個(gè)人提升英語 英語四六級(jí) 多鄰國英語測(cè)試 詞庫 IB 英語口語 商務(wù)英語 公共英語 考研英語 青少兒英語 成人英語 A-Level 學(xué)生英語 初高中英語 OSSD AP課程 AEAS個(gè)性化定制課程 一級(jí)建造師 二級(jí)建造師 消防工程師 消防設(shè)施操作員 BIM 造價(jià)工程師 環(huán)評(píng)師 監(jiān)理工程師 咨詢工程師 安全工程師 建筑八大員 公路水運(yùn)檢測(cè) 通信工程 裝配式工程師 注冊(cè)電氣工程師 二級(jí)注冊(cè)建筑師 一級(jí)注冊(cè)建筑師 智慧消防工程師 智慧建造工程師 全過程工程咨詢師 EPC 碳排放管理師 ACCA CFA 注冊(cè)會(huì)計(jì)師 會(huì)計(jì)證 初中級(jí)經(jīng)濟(jì)師 初級(jí)會(huì)計(jì)師 中級(jí)會(huì)計(jì)師 基金從業(yè) 證券從業(yè) 稅務(wù)師 薪稅師 企業(yè)合規(guī)師 會(huì)計(jì)就業(yè)實(shí)操 期貨從業(yè) FRM CMA CQF 教師資格 人力資源管理 導(dǎo)游考試 心理咨詢師 健康管理師 社會(huì)工作師 普通話 育嬰員 物流師 家庭教育指導(dǎo)師 專利代理師 教師招聘 兒童專注力 兒童情緒管理 法律職業(yè)資格 少兒編程 書法培訓(xùn) 國畫 茶藝 樂器音樂 舞蹈 棋類 機(jī)器人編程 戲曲培訓(xùn) 信奧賽C++ 少兒小主播 口才培訓(xùn) 籃球培訓(xùn) 商務(wù)辦公 影視后期 剪輯包裝 游戲設(shè)計(jì) 游戲程序 UI設(shè)計(jì) 室內(nèi)設(shè)計(jì) photoshop CAD制圖 視覺設(shè)計(jì) 商業(yè)空間設(shè)計(jì) 平面設(shè)計(jì)