亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

虛擬機字節碼執行引擎

2019-11-14 12:51:48
字體:
來源:轉載
供稿:網友

我們知道,javac編譯器完成了程序代碼經過詞法分析、語法分析到抽象語法樹、再遍歷語法樹生成線性的字節碼指令流的過程。而字節碼文件再經過加載、驗證、準備、解析、初始化等階段才能被使用。字節碼執行引擎正是執行了這樣的過程:輸入的是字節碼文件,處理過程是字節碼解析的等效過程,輸出的是執行結果。

運行時棧幀結構

棧幀(stack frame)是用于支持虛擬機進行方法調用和方法執行的數據結構,它是虛擬機運行時數據區中的虛擬機棧的棧元素。棧中存儲了方法的局部變量表、操作數棧、動態鏈接和方法返回地址等信息。每一個方法從調用開始到執行完成的過程,就對應著一個棧幀在虛擬機棧里面從入棧到出棧的過程。 在編譯程序代碼的時候,棧幀中需要多大的局部變量表、多深的操作數棧都已經完全確定了,并且寫入到方法表的Code屬性之中,因此一個棧幀需要分配多少內存,不會受到程序運行期變量數據的影響,而僅僅取決于具體的虛擬機實現。 注:對于執行引擎來講,活動線程中,只有棧頂的棧幀是有效的,稱為當前棧幀,這個棧幀所關聯的方法稱為當前方法執行引擎所運行的所有字節碼指令都只是針對當前棧幀進行操作。

局部變量表

一組變量值存儲空間,用于存放方法參數和方法內部定義的局部變量。 局部變量表的容量以變量槽為最小單位,每個slot都應該能存放一個boolean,byte,short,int,char,float,reference,returnAddress類型的數據,對于64位的數據類型只有double,long兩種(reference可能為32位也可能為64位),這兩種類型占用兩個slot。 虛擬機是使用局部變量表完成參數值到參數變量列表的傳遞過程,如果是實例方法(非static)那么局部變量表中第0位索引的slot默認是用于傳遞方法所屬對象實例的引用,方法中可以通過this來訪問這個隱含的參數。其余參數則按照參數表的順序來排列,占用從1開始的局部變量slot,參數表分配完畢之后,再根據方法體內部定義的變量順序和作用域分配其余的slot。 注:類變量有兩次賦值的過程,一次在準備階段,賦予系統初始值(比如int默認值為0,boolean默認值為false,object類型默認值為null等),另外一次在初始化階段,賦予程序員定義的初始值。因此即使在初始化階段程序員沒有為類變量賦值也沒用關系,類變量仍然具有一個確定的初始值。但是局部變量若是定義了但沒有賦初始值是沒法使用的,類加載將會失敗。

操作數棧

操作數棧是用來存放操作數的棧結構。當一個方法剛開始執行的時候,這個方法的操作數棧是空的,在方法的執行過程中,會有各種字節碼指令向操作數棧中寫入和提取內容,也就是入棧和出棧的操作。 注:java虛擬機的解釋執行引擎稱為基于棧的執行引擎,其中所指的棧就是操作數棧。

動態連接

每個棧幀都包含一個指向運行時常量池中該棧幀所屬方法的引用,持有這個引用是為了支持方法調用過程中的動態連接。我們知道class文件的常量池中存有大量的符號引用,字節碼中的方法調用指令就以常量池中指向方法的符號引用為參數。這些符號引用一部分會在類加載階段或第一次使用的時候轉化為直接引用,這種轉化為稱為靜態解析,另外一部分將在每一次的運行期間轉化為直接引用,這部分稱為動態連接。

方法返回地址

方法被執行后,有兩種方式退出這個方法。第一種方法是執行引擎遇到任意一個方法的返回的字節碼指令。另外一種退出方式是在方法執行過程中遇到了異常,并且這個異常并沒有在方法體中得到處理。方法退出之后,需要返回到方法被調用的位置,程序才能繼續執行,方法返回時需要在棧幀中保存一些信息,用以幫助它恢復它上層方法的執行狀態。一般情況下,調用者的pc計數器的值可以作為返回地址,棧幀中很可能會保存這個計數器值,方法異常退出時,返回地址是要通過異常處理器表來確定,棧幀中一般不會保存這部分信息。

方法退出的過程實際上等同于把當前棧幀出棧,所以可能需要執行這些操作:恢復上層方法的局部變量表和操作數棧,把返回值壓入調用者棧的操作數棧中,調整pc計數器的值。 附加信息:虛擬機規范允許具體的虛擬機實現增加一些規范里沒有描述的信息到棧幀中,這部分信息取決于具體的虛擬機實現。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人黄色在线观看| 在线精品播放av| 国产成人精品电影| 亚洲欧洲一区二区三区久久| 亚洲伊人久久综合| 久久久久久久久久久亚洲| 日本久久亚洲电影| 国产69久久精品成人| 日韩电影免费在线观看| 欧美一区二区三区免费观看| 国模精品一区二区三区色天香| 国产精品一区二区电影| 欧美人与物videos| 亚洲激情电影中文字幕| 日韩中文字幕在线免费观看| 高清在线视频日韩欧美| 综合国产在线视频| 欧美日韩高清在线观看| 日韩中文字幕在线精品| 国产精品成人一区| 久久艳片www.17c.com| 国产精品小说在线| 国产精品爽爽ⅴa在线观看| 亚洲成人网av| 欧美在线免费看| 黑人巨大精品欧美一区二区免费| 色多多国产成人永久免费网站| 国产主播欧美精品| 日韩一区二区三区在线播放| 国产自产女人91一区在线观看| 九九热在线精品视频| 久久这里有精品视频| 一区二区三区视频免费在线观看| 欧美成人精品一区二区三区| 亚洲福利视频在线| 亲子乱一区二区三区电影| 欧美高清在线视频观看不卡| 亚洲视频精品在线| 国产主播在线一区| 精品国产福利在线| 国产精品久久久久高潮| www高清在线视频日韩欧美| 中国china体内裑精亚洲片| 91干在线观看| 欧亚精品中文字幕| 日韩大陆毛片av| 成人久久一区二区三区| 热久久这里只有精品| 精品久久中文字幕| 韩国国内大量揄拍精品视频| 久久国产色av| 91av在线播放视频| 九九久久久久久久久激情| 成人网在线视频| 国产精品综合网站| 久久精品国产欧美亚洲人人爽| 欧美亚洲激情在线| 国产最新精品视频| 91精品免费视频| 精品国产精品三级精品av网址| 91啪国产在线| 日韩不卡中文字幕| 亚洲2020天天堂在线观看| 中文字幕亚洲欧美日韩高清| 亚洲伊人一本大道中文字幕| 久热爱精品视频线路一| 92看片淫黄大片看国产片| 亚洲国产精品福利| 成人春色激情网| 国产在线拍揄自揄视频不卡99| 亚洲国内精品在线| 欧美日韩国产综合视频在线观看中文| 日韩av不卡在线| 另类少妇人与禽zozz0性伦| 欧美福利视频在线观看| 一区二区成人精品| 亚洲人成网7777777国产| 日韩精品在线观| 国产精品r级在线| 色999日韩欧美国产| 国色天香2019中文字幕在线观看| 国产精品成人av在线| 精品视频在线播放色网色视频| 日韩精品在线观看一区二区| 欧美成年人视频网站| 一本大道香蕉久在线播放29| 国产成人精品在线| 亚洲性视频网址| 热99在线视频| 欧美一区二区.| 91在线观看欧美日韩| 欧美性生交大片免费| 国产一区二区色| 欧美在线影院在线视频| 成人精品一区二区三区| 日韩视频免费观看| 精品久久久久久久久中文字幕| 中文字幕一区二区精品| 91在线观看免费高清| 欧美一乱一性一交一视频| 97精品国产91久久久久久| 7m第一福利500精品视频| 九九热精品在线| 欧美亚洲另类制服自拍| 国产剧情日韩欧美| 茄子视频成人在线| 欧美激情精品久久久久| 日韩中文字在线| 国语自产精品视频在线看一大j8| 中文字幕免费国产精品| 97**国产露脸精品国产| 欧美国产视频日韩| 亚洲高清色综合| 69国产精品成人在线播放| 欧美在线视频导航| 精品动漫一区二区三区| 国产精品视频不卡| 国产日韩欧美综合| 亚洲高清一二三区| 秋霞午夜一区二区| 亚洲视频axxx| 精品国产电影一区| 午夜精品99久久免费| 国产精品电影网| 亚洲欧洲在线看| 国产精品黄页免费高清在线观看| 欧美成人sm免费视频| 91亚洲精品在线观看| 久久激情视频免费观看| 亚洲三级免费看| 一区二区三区在线播放欧美| 欧美日在线观看| 中文字幕亚洲综合久久| 日韩影视在线观看| 国产精品免费小视频| 欧美黄色成人网| 一区二区三区久久精品| 亚洲精品天天看| 久久久久久999| 亚洲视频国产视频| 日韩av影视综合网| 91精品久久久久久久久| 亚洲亚裔videos黑人hd| 久久久久久九九九| 成人免费看片视频| 国产91露脸中文字幕在线| 亚洲欧洲在线免费| 国产精品久久久久久av福利软件| 欧美午夜www高清视频| 欧美成人精品xxx| 日韩在线免费视频观看| 欧美性xxxxx极品娇小| 美日韩精品免费视频| 欧美国产高跟鞋裸体秀xxxhd| 欧美激情欧美激情在线五月| 欧美成人精品三级在线观看| 青青草国产精品一区二区| 日韩一二三在线视频播| 北条麻妃在线一区二区| 日韩美女中文字幕| 国产福利精品视频| 最近2019好看的中文字幕免费| 日韩免费观看av| 欧美性极品xxxx娇小|