Java概述(二)
請講一下Java程序的運行機制?
Java程序的運行分為編寫 、編譯 、運行 三個步驟:

運行機制主要是指編譯 、運行的過程
1、編譯
Java編譯器對源文件進行錯誤排查的過程,編譯后將生成后綴名為.class的字節(jié)碼文件,從而讓JVM(Java虛擬機)里的解釋器可以正常讀取。
2、運行
分三步: 代碼的裝入 、校驗和執(zhí)行
①代碼的裝入
JVM控制解釋器中的“類裝載器”去讀取和裝載程序所需的類(class的字節(jié)碼),然后解釋器開始建立類與類之間的關(guān)系。
②代碼的校驗
字節(jié)碼校驗器進行檢查,校驗器可發(fā)現(xiàn)操作數(shù)棧溢出,非法數(shù)據(jù)類型轉(zhuǎn)化等多種錯誤。
③代碼的執(zhí)行
執(zhí)行也分兩種情況
即時編譯方式:解釋器先將字節(jié)碼編譯成機器碼,然后再執(zhí)行該機器碼。
解釋執(zhí)行方式:解釋器通過每次解釋并執(zhí)行一小段代碼來完成Java字節(jié)碼程序的所有操作。
通常采用的是第二種方法。由于JVM規(guī)格描述具有足夠的靈活性,這使得將字節(jié)碼翻譯為機器代碼的工作。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
JAVA
+關(guān)注
關(guān)注
20文章
3001瀏覽量
116409 -
編譯器
+關(guān)注
關(guān)注
1文章
1672瀏覽量
51578 -
源文件
+關(guān)注
關(guān)注
0文章
30瀏覽量
4891
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
蘋果宣布iPhone OS 4 多任務(wù)運行機制詳解
蘋果宣布iPhone OS 4 多任務(wù)運行機制詳解
蘋果今天在公司總部召開發(fā)布會,提前披露了將于今夏發(fā)布的iPhone OS 4操作系統(tǒng)升級新特性。之前傳言中有關(guān)
發(fā)表于 04-13 08:48
?1082次閱讀
操作系統(tǒng)運行機制
,按截止時間控制運行的實現(xiàn);在批處理系統(tǒng)中,通過時鐘管理來衡量一個作業(yè)的運行程度等。因此,系統(tǒng)管理的方方面面無不依賴于時鐘。
2) 中斷機制
引入中斷技術(shù)的初衷是提高多道程序
發(fā)表于 01-15 07:12
Arduino為什么只有l(wèi)oop和setup函數(shù),揭開Arduino的神秘面紗--運行機制
USBDevice.attch()然后是for循環(huán)里面的串口二、看完后知道了運行機制了吧看下面的點燈程序跟進pinMode()函數(shù),基本上都是寄存器和另一些函數(shù)的操作跟進digitalWrite()函數(shù)
發(fā)表于 10-30 17:33
CPU的基本結(jié)構(gòu)和運行機制
目錄一. CPU的基本結(jié)構(gòu)和運行機制參考《ARM微控制器與嵌入式系統(tǒng)--清華》一. CPU的基本結(jié)構(gòu)和運行機制分析其中的CPU:(ALU、寄存器組、控制單元是必要的,其他非必要)一個完整的CPU:將
發(fā)表于 11-03 09:22
Linux系統(tǒng)是如何去實現(xiàn)多用戶運行機制的呢
什么是Linux系統(tǒng)呢?Linux系統(tǒng)是如何去實現(xiàn)多用戶運行機制的呢?
發(fā)表于 12-29 06:40
Linux系統(tǒng)的fork運行機制分析
如果其中一個進程的輸出結(jié)果是“pid1:1001, pid2:1002”,寫出其他進程的輸出結(jié)果(不考慮進程執(zhí)行順序)。
明顯這道題的目的是考察linux下fork的執(zhí)行機制。下面我們通過分析這個題目,談?wù)凩inux下fork的運行機制。
發(fā)表于 04-26 16:26
?1428次閱讀
Java程序編譯和運行的過程
Java 虛擬機(JVM)是可運行Java 代碼的假想計算機。只要根據(jù)JVM規(guī)格描述將解釋器移植到特定的計算機上,就能保證經(jīng)過編譯的任何Java代碼能夠在該系統(tǒng)上
發(fā)表于 03-09 15:32
?9496次閱讀
Java程序設(shè)計教程之Java語言的基礎(chǔ)知識概述
本文檔詳細介紹的是Java程序設(shè)計教程之Java語言的基礎(chǔ)知識概述主要內(nèi)容包括了:1.Java語言發(fā)展簡史,2.Java的特點(為什么要學習
發(fā)表于 02-22 10:28
?36次下載
SSL和TLS協(xié)議運行機制的資料詳細概述
聯(lián)網(wǎng)的通信安全,建立在SSL/TLS協(xié)議之本文簡要介紹SSL/TLS協(xié)議的運行機制。文章的重點是設(shè)計思想和運行過程,不涉及具體的實現(xiàn)細節(jié)。
發(fā)表于 07-22 08:00
?2次下載
初學者:講解Java程序的開發(fā)與運行原理
可能剛剛接觸編程的初學者會發(fā)現(xiàn),編寫一個Java程序其實很簡單,但是Java程序的運行過程卻是非常復(fù)雜的。關(guān)于
php運行機制和原理
PHP是一種在服務(wù)器端執(zhí)行的腳本語言,它被廣泛用于開發(fā)動態(tài)網(wǎng)站。它的運行機制和原理非常重要,因為它決定了PHP腳本如何被解釋執(zhí)行和與服務(wù)器進行交互。 PHP的運行機制 PHP腳本的運行機制涉及到以下
audio核心庫的運行機制與技術(shù)要點
音頻系統(tǒng)核心庫的穩(wěn)定運行,是實現(xiàn)低延遲、高保真音頻體驗的前提。其內(nèi)部通過精密的線程調(diào)度、緩沖區(qū)管理與設(shè)備驅(qū)動交互,保障音頻數(shù)據(jù)的連續(xù)性與同步性。本文將聚焦其運行機制,逐層拆解關(guān)鍵技術(shù)要點,幫助開發(fā)者
簡述Java程序的運行機制
評論