引言
為太平等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及太平網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、做網(wǎng)站、太平網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!Java虛擬機(jī)本質(zhì)是就是一個(gè)程序,當(dāng)它在命令行上啟動(dòng)的時(shí)候,就開始執(zhí)行保存在某字節(jié)碼文件中的指令。Java語言的可移植性正是建立在Java虛擬機(jī)的基礎(chǔ)上。任何平臺(tái)只要裝有針對(duì)于該平臺(tái)的Java虛擬機(jī),字節(jié)碼文件(.class)就可以在該平臺(tái)上運(yùn)行。這就是“一次編譯,多次運(yùn)行”。
kaffe虛擬機(jī)的簡(jiǎn)要分析
kaffe虛擬機(jī)采用了模塊化的程序設(shè)計(jì)思想,它由多個(gè)獨(dú)立的子系統(tǒng)組成。從功能模塊上來分它主要分為:虛擬機(jī)總體驅(qū)動(dòng)模塊,類裝載器模塊,類執(zhí)行模塊, 數(shù)據(jù)區(qū)管理模塊,內(nèi)存管理模塊,本地支持模塊等等。kaffe虛擬機(jī)簡(jiǎn)要的程序流程圖如圖1所示。
498)this.style.width=498;" border="0" />
圖1:kaffe虛擬機(jī)簡(jiǎn)要的程序流程圖
Java虛擬機(jī)的實(shí)現(xiàn)
Java 源程序的執(zhí)行過程為: Java源程序(.java)經(jīng)過Java編譯器編譯生成字節(jié)碼文件(.class),然后由類裝載器將字節(jié)碼文件裝載到方法區(qū)中,然后進(jìn)行連接驗(yàn)證,由Java虛擬機(jī)讀取字節(jié)碼,轉(zhuǎn)換為特定平臺(tái)的指令,并且在對(duì)應(yīng)的CPU中執(zhí)行。
本實(shí)現(xiàn)中采用的流程框架如下圖所示:
498)this.style.width=498;" border="0" />
圖2:本實(shí)現(xiàn)的主要框架
1、類裝載、連接及初始化
類文件包括:魔數(shù)(magic),次、主版本號(hào),常量池,類或接口訪問修飾符,常量池索引(this_class和super_class),接口表,域表,方法表,類或接口的屬性信息。其中最復(fù)雜的內(nèi)容是常量池,它類似于傳統(tǒng)語言編譯過程中用到的符號(hào)表。
從原始的class文件到可以被Java虛擬機(jī)執(zhí)行的內(nèi)部數(shù)據(jù)格式,需要經(jīng)過裝載、連接和初始化這3個(gè)階段。
裝載是將class文件通過類裝載器裝載到在邏輯上被稱為方法區(qū)的內(nèi)存單元中的過程。
分享名稱:Java虛擬機(jī)的研究與實(shí)現(xiàn)(1)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://www.rwnh.cn/article24/cojgce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、虛擬主機(jī)、品牌網(wǎng)站建設(shè)、軟件開發(fā)、域名注冊(cè)、網(wǎng)站建設(shè)
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容