欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java代碼執(zhí)行的機(jī)制,java代碼執(zhí)行的機(jī)制是什么

java運(yùn)行機(jī)制是什么?

Java與其說(shuō)是種語(yǔ)言,不如說(shuō)是一種平臺(tái)更為合適。Java的每一個(gè)類都有一個(gè)class文件和它對(duì)應(yīng),Java在程序的啟動(dòng)的時(shí)候?qū)⒊绦蜻\(yùn)行需要用到的類加載到虛擬機(jī)中,根據(jù)Java的虛擬機(jī)規(guī)范進(jìn)行連接(動(dòng)態(tài)連接),程序的組裝是在運(yùn)行的時(shí)候完成的。因此,Java程序非常容易進(jìn)行組件式的開發(fā),程序的組件非常的容易替換。

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為望城企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)望城網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

C++和其他的編譯型的語(yǔ)言一樣,它的程序的組裝方式是一種傳統(tǒng)的組裝方式。C++在編譯的時(shí)候生成適用于某一平臺(tái)的二進(jìn)制代碼,在連接的時(shí)候找到需要調(diào)用的庫(kù),然后將這些庫(kù)中的代碼連接進(jìn)可執(zhí)行程序之中,生成的可執(zhí)行程序運(yùn)行速度非常的快,但是可執(zhí)行代碼已經(jīng)變成了一個(gè)整體,不可能再分開。(未考慮動(dòng)態(tài)鏈接的情況)

C++當(dāng)然也可以以組件的形式開發(fā),如COM,但那些都是基于動(dòng)態(tài)鏈接庫(kù)的,不可跨平臺(tái)的,COM實(shí)際上也是定義了一個(gè)二進(jìn)制的組件標(biāo)準(zhǔn)。是不可跨平臺(tái)的。

java工作原理

Java工作原理

由四方面組成:

(1)Java編程語(yǔ)言

(2)Java類文件格式

(3)Java虛擬機(jī)

(4)Java應(yīng)用程序接口

當(dāng)編輯并運(yùn)行一個(gè)Java程序時(shí),需要同時(shí)涉及到這四種方面。使用文字編輯軟件(例如記事本、寫字板、UltraEdit等)或集成開發(fā)環(huán)境(Eclipse、MyEclipse等)在Java源文件中定義不同的類 ,通過調(diào)用類(這些類實(shí)現(xiàn)了Java API)中的方法來(lái)訪問資源系統(tǒng),把源文件編譯生成一種二進(jìn)制中間碼,存儲(chǔ)在class文件中,然后再通過運(yùn)行與操作系統(tǒng)平臺(tái)環(huán)境相對(duì)應(yīng)的Java虛擬機(jī)來(lái)運(yùn)行class文件,執(zhí)行編譯產(chǎn)生的字節(jié)碼,調(diào)用class文件中實(shí)現(xiàn)的方法來(lái)滿足程序的Java API調(diào)用 。

Java語(yǔ)言的運(yùn)行機(jī)制

在分析程序語(yǔ)言的運(yùn)行機(jī)制時(shí),通常會(huì)討論兩種類型的程勛執(zhí)行模式: 編譯行的程序語(yǔ)言和解釋性的程序語(yǔ)言。語(yǔ)言的編譯過程類似于日常生活中的翻譯——翻譯人員將一片文章翻譯從中文翻譯成英文,在過程中有批次處理和離線完成的特點(diǎn)。C語(yǔ)言就是這種類型的典型代表。解釋性語(yǔ)言就類似于國(guó)際上的“中英同傳”——在發(fā)言者將出中文的同時(shí),對(duì)方的耳機(jī)就會(huì)有對(duì)應(yīng)英文發(fā)言,此時(shí)的編譯就叫做同傳,在過程上有在線和及時(shí)的特點(diǎn),BASIC語(yǔ)言就是這類典型的代表。

JAVA語(yǔ)言是一種變異性解釋性語(yǔ)言,同時(shí)具備編譯特性和解釋特性。作為變異性語(yǔ)言,JAVA程序要被統(tǒng)一編譯成字節(jié)碼文件——文件后綴是class。此種文件在java中又稱為類文件。java類文件不能再計(jì)算機(jī)上直接執(zhí)行,它需要被java虛擬機(jī)編譯成本地的機(jī)器碼后才能執(zhí)行,而java虛擬機(jī)的翻譯過程則是解釋性的。java字節(jié)碼文件首先被加載到計(jì)算機(jī)內(nèi)存中,然后讀出一條指令,翻譯一條指令,執(zhí)行一條指令,該過程被稱為java語(yǔ)言的解釋執(zhí)行,是有java虛擬機(jī)完成的。而在現(xiàn)實(shí)中,java開發(fā)工具JDK提供了兩個(gè)很重要的命令來(lái)完成上面的編譯和解釋過程。兩個(gè)命令分別是java.exe和javac.exe,前者加載java類文件,并逐步對(duì)字節(jié)碼文件進(jìn)行解釋執(zhí)行,而另一個(gè)命令則對(duì)應(yīng)了java語(yǔ)言的編譯過程。在次序上,java語(yǔ)言是要先進(jìn)行編譯的過程,接著解釋執(zhí)行。

java 的運(yùn)行機(jī)制是什么?

簡(jiǎn)單來(lái)說(shuō)Java程序的運(yùn)行機(jī)制

編寫?、編譯?、運(yùn)行?三個(gè)步驟。

運(yùn)行機(jī)制 主要是指

編譯?、運(yùn)行的過程

1、編譯

Java編譯器對(duì)源文件進(jìn)行錯(cuò)誤排查的過程,編譯后將生成后綴名為.class的字節(jié)碼文件。好讓JVM(java虛擬機(jī))里的解釋器可以正常讀取。

2、運(yùn)行

三步?代碼的裝入、代碼的校驗(yàn)和代碼的執(zhí)行

2.1 、?代碼的裝入

JVM控制解釋器中的“類裝載器”去讀取和裝載程序所需的類(class的字節(jié)碼)。然后解釋器開始建立類與類之間的關(guān)系。

2.2、?代碼的校驗(yàn)

字節(jié)碼校驗(yàn)器進(jìn)行檢查:校驗(yàn)器可發(fā)現(xiàn)操作數(shù)棧溢出,非法數(shù)據(jù)類型轉(zhuǎn)化等多種錯(cuò)誤。

2.3、?代碼的執(zhí)行

執(zhí)行也分兩種情況

即時(shí)編譯方式:解釋器先將字節(jié)碼編譯成機(jī)器碼,然后再執(zhí)行該機(jī)器碼。

解釋執(zhí)行方式:解釋器通過每次解釋并執(zhí)行一小段代碼來(lái)完成Java字節(jié)碼程 序的所有操作。

通常采用的是第二種方法。由于JVM規(guī)格描述具有足夠的靈活性,這使得將字節(jié)碼翻譯為機(jī)器代碼的工作

網(wǎng)頁(yè)題目:java代碼執(zhí)行的機(jī)制,java代碼執(zhí)行的機(jī)制是什么
文章源于:http://chinadenli.net/article28/hohcjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈服務(wù)器托管、網(wǎng)站排名網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)