Java概述(二)
請(qǐng)講一下Java程序的運(yùn)行機(jī)制?
Java程序的運(yùn)行分為編寫 、編譯 、運(yùn)行 三個(gè)步驟:

運(yùn)行機(jī)制主要是指編譯 、運(yùn)行的過(guò)程
1、編譯
Java編譯器對(duì)源文件進(jìn)行錯(cuò)誤排查的過(guò)程,編譯后將生成后綴名為.class的字節(jié)碼文件,從而讓JVM(Java虛擬機(jī))里的解釋器可以正常讀取。
2、運(yùn)行
分三步: 代碼的裝入 、校驗(yàn)和執(zhí)行
①代碼的裝入
JVM控制解釋器中的“類裝載器”去讀取和裝載程序所需的類(class的字節(jié)碼),然后解釋器開(kāi)始建立類與類之間的關(guān)系。
②代碼的校驗(yàn)
字節(jié)碼校驗(yàn)器進(jìn)行檢查,校驗(yàn)器可發(fā)現(xiàn)操作數(shù)棧溢出,非法數(shù)據(jù)類型轉(zhuǎn)化等多種錯(cuò)誤。
③代碼的執(zhí)行
執(zhí)行也分兩種情況
即時(shí)編譯方式:解釋器先將字節(jié)碼編譯成機(jī)器碼,然后再執(zhí)行該機(jī)器碼。
解釋執(zhí)行方式:解釋器通過(guò)每次解釋并執(zhí)行一小段代碼來(lái)完成Java字節(jié)碼程序的所有操作。
通常采用的是第二種方法。由于JVM規(guī)格描述具有足夠的靈活性,這使得將字節(jié)碼翻譯為機(jī)器代碼的工作。
-
JAVA
+關(guān)注
關(guān)注
20文章
2997瀏覽量
115683 -
編譯器
+關(guān)注
關(guān)注
1文章
1669瀏覽量
51082 -
源文件
+關(guān)注
關(guān)注
0文章
30瀏覽量
4876
發(fā)布評(píng)論請(qǐng)先 登錄
蘋果宣布iPhone OS 4 多任務(wù)運(yùn)行機(jī)制詳解
Arduino為什么只有l(wèi)oop和setup函數(shù),揭開(kāi)Arduino的神秘面紗--運(yùn)行機(jī)制
計(jì)算機(jī)操作系統(tǒng)的運(yùn)行機(jī)制和體系結(jié)構(gòu)
CPU的基本結(jié)構(gòu)和運(yùn)行機(jī)制
MCU總結(jié)結(jié)構(gòu)和程序運(yùn)行機(jī)制的相關(guān)資料分享
Linux系統(tǒng)是如何去實(shí)現(xiàn)多用戶運(yùn)行機(jī)制的呢
Linux系統(tǒng)的fork運(yùn)行機(jī)制分析
Java程序編譯和運(yùn)行的過(guò)程
Java程序設(shè)計(jì)教程之Java語(yǔ)言的基礎(chǔ)知識(shí)概述
Java程序是如何運(yùn)行的
Java反射機(jī)制到底是什么?有什么作用
SSL和TLS協(xié)議運(yùn)行機(jī)制的資料詳細(xì)概述
初學(xué)者:講解Java程序的開(kāi)發(fā)與運(yùn)行原理

簡(jiǎn)述Java程序的運(yùn)行機(jī)制
評(píng)論