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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
JAVA
+關(guān)注
關(guān)注
19文章
2966瀏覽量
104702 -
編譯器
+關(guān)注
關(guān)注
1文章
1623瀏覽量
49108 -
源文件
+關(guān)注
關(guān)注
0文章
30瀏覽量
4586
發(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
?887次閱讀
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
?1164次閱讀
Java程序編譯和運行的過程
Java 虛擬機(JVM)是可運行Java 代碼的假想計算機。只要根據(jù)JVM規(guī)格描述將解釋器移植到特定的計算機上,就能保證經(jīng)過編譯的任何Java代碼能夠在該系統(tǒng)上
發(fā)表于 03-09 15:32
?8871次閱讀
Java程序設(shè)計教程之Java語言的基礎(chǔ)知識概述
本文檔詳細介紹的是Java程序設(shè)計教程之Java語言的基礎(chǔ)知識概述主要內(nèi)容包括了:1.Java語言發(fā)展簡史,2.Java的特點(為什么要學(xué)習(xí)
發(fā)表于 02-22 10:28
?36次下載
Java反射機制到底是什么?有什么作用
Java反射機制是 Java 語言的一個重要特性,它在服務(wù)器程序和中間件程序中得到了廣泛運用。在服務(wù)器端,往往需要根據(jù)客戶的請求,動態(tài)調(diào)用某
SSL和TLS協(xié)議運行機制的資料詳細概述
聯(lián)網(wǎng)的通信安全,建立在SSL/TLS協(xié)議之本文簡要介紹SSL/TLS協(xié)議的運行機制。文章的重點是設(shè)計思想和運行過程,不涉及具體的實現(xiàn)細節(jié)。
發(fā)表于 07-22 08:00
?2次下載
初學(xué)者:講解Java程序的開發(fā)與運行原理
可能剛剛接觸編程的初學(xué)者會發(fā)現(xiàn),編寫一個Java程序其實很簡單,但是Java程序的運行過程卻是非常復(fù)雜的。關(guān)于
php運行機制和原理
PHP是一種在服務(wù)器端執(zhí)行的腳本語言,它被廣泛用于開發(fā)動態(tài)網(wǎng)站。它的運行機制和原理非常重要,因為它決定了PHP腳本如何被解釋執(zhí)行和與服務(wù)器進行交互。 PHP的運行機制 PHP腳本的運行機制涉及到以下
java環(huán)境配置成功后怎么運行
Java環(huán)境配置成功后,我們可以使用幾種方式來運行Java程序。下面將詳細介紹這幾種方式以及其使用方法。 命令行運行方式 在成功配置
評論