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

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

Java代碼編譯過程簡述

2019-11-14 09:18:15
字體:
來源:轉載
供稿:網友

java代碼編譯是由Javac編譯器來完成,流程如下圖1所示:

圖1

Javac是一種編譯器,能將一種語言規范轉化成另外一種語言規范,通常編譯器都是將便于人理解的語言規范轉化成機器容易理解的語言規范,如C/C++或者匯編語言都是將源代碼直接編譯成目標機器碼,這個目標機器代碼是CPU直接執行的指令集合。這些指令集合也就是底層的一種語言規范。

Javac的編譯器也是將Java這種對人非常友好的編程語言編譯成對對所有機器都非常友好的一種語言。這種語言不是針對某種機器或某個平臺。怎么消除不通種類,不同平臺之間的差異這個任務就有JVM來完成,而Javac的任務就是將Java源代碼語言轉化為JVM能夠識別的一種語言,然后由JVM將JVM語言再轉化成當前這個機器能夠識別的機器語言。

Javac的任務就是將Java源代碼編譯成Java字節碼,也就是JVM能夠識別的二進制代碼,從表面看是將.java文件轉化為.class文件。而實際上是將Java源代碼轉化成一連串二進制數字,這些二進制數字是有格式的,只有JVM能夠真確的識別他們到底代表什么意思。

編譯器把一種語言規范轉化為另一種語言規范的這個過程需要哪些步驟?回答這個問題需要參照《編譯原理》,總結過程如下:

1)詞法分析:讀取源代碼,一個字節一個字節的讀進來,找出這些詞法中我們定義的語言關鍵詞如:if、else、while等,識別哪些if是合法的哪些是不合法的。這個步驟就是詞法分析過程。

詞法分析的結果:就是從源代碼中找出了一些規范化的token流,就像人類語言中,給你一句話你要分辨出哪些是一個詞語,哪些是標點符號,哪些是動詞,哪些是名詞。

2)語法分析:就是對詞法分析中得到的token流進行語法分析,這一步就是檢查這些關鍵詞組合在一起是不是符合Java語言規范。如if的后面是不是緊跟著一個布爾型判斷表達式。

語法分析的結果:就是形成一個符合Java語言規定的抽象語法樹,抽象語法樹是一個結構化的語法表達形式,它的作用是把語言的主要詞法用一個結構化的形式組織在一起。這棵語法樹可以被后面按照新的規則再重新組織。

3)語義分析:語法分析完成之后也就不存在語法問題了,語義分析的主要工作就是把一些難懂的,復雜的語法轉化成更簡單的語法。就如難懂的文言文轉化為大家都懂的百話文,或者是注釋一下一些不懂的成語。

語義分析結果:就是將復雜的語法轉化為簡單的語法,對應到Java就是將foreach轉化為for循環,還有一些注釋等。最后生成一棵抽象的語法樹,這棵語法樹也就更接近目標語言的語法規則。

4)字節碼生成:將會根據經過注釋的抽象語法樹生成字節碼,也就是將一個數據結構轉化為另外一個數據結構。就像將所有的中文詞語翻譯成英文單詞后按照英文語法組裝文英文語句。代碼生成器的結果就是生成符合java虛擬機規范的字節碼。這個過程中的需要的組件如下圖2所示:

圖2

從上面的描述中我們知道編譯就是將一種語言通過分析分解,再按照一定的方式先形成一個簡單的框架(將Java源文件的字節流轉化為對應的token流)然后在通過詳細的分析按照一定的規定在這個框架里添加東西使這個token流形成更加結構化的語法樹(就是將前面生成的token流中的一個個單詞組裝成一句話),但是這棵樹離我們的目標—Java字節碼還有點差距,所以再進行語義分析使那顆粗糙的樹更加完整完善(給類添加默認的構造函數,檢查變量在使用前有沒有初始化,檢查操作變量類型是否匹配),然后javac編譯器調用com.sun.tools.javac.jvm.Gen類遍歷這棵語法樹將java方法中的代碼塊轉換成符合JVM語法的命令形式的二進制數據。按照JVM的文件組織格式將字節碼輸出到以class為擴展名的文件中,也就是生成最終的java字節碼。詞法分析就是將關鍵詞組織成token流即檢查源碼中的的關鍵詞是否真確并組織成token流,而語法分析就是檢查源碼是否符合java語法規范并將詞組成語句。語義分析就是簡化復雜的添加缺少的,檢查變量類型是否合法。代碼生成器就是遍歷這棵樹生成符合JVM規范的代碼。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文一区二区视频| 69av视频在线播放| 性欧美办公室18xxxxhd| 51ⅴ精品国产91久久久久久| 久久精品视频一| 欧美猛男性生活免费| 亚洲sss综合天堂久久| 成人精品久久一区二区三区| 日本精品免费一区二区三区| 日韩中文字幕在线视频播放| 久久久精品久久久久| 欧美日韩一区二区免费在线观看| 亚洲精品美女网站| 色综合久久精品亚洲国产| 欧美成人免费va影院高清| 国产成人综合av| 日韩影视在线观看| 久久久亚洲国产天美传媒修理工| 国产精品色视频| 亚洲免费中文字幕| 国产成人激情视频| 亚洲a级在线观看| 日韩中文字幕在线播放| 日韩欧美中文字幕在线观看| 日韩二区三区在线| www日韩中文字幕在线看| 国外成人在线播放| 国产精品视频xxx| 欧美裸体xxxx极品少妇软件| 亚洲图片在线综合| 日韩av在线天堂网| 精品国偷自产在线| 亚洲毛茸茸少妇高潮呻吟| 欧美视频一二三| 久久精品国产免费观看| 色综合久久88色综合天天看泰| 中文字幕日韩精品在线| 中文字幕一区二区精品| 欧美视频在线观看 亚洲欧| 亚洲毛片在线观看.| 欧美综合激情网| 91成人免费观看网站| 国产精品成人播放| 92福利视频午夜1000合集在线观看| 亚洲日韩中文字幕在线播放| 欧美在线精品免播放器视频| 亚洲女人初尝黑人巨大| 精品二区三区线观看| 久久艳片www.17c.com| 久久久久久久久久久久av| 欧美激情在线视频二区| 国产欧美一区二区白浆黑人| 日韩av电影在线免费播放| 91在线中文字幕| 91久久在线播放| 富二代精品短视频| 欧美巨猛xxxx猛交黑人97人| 国产精品爱啪在线线免费观看| 日韩精品中文字幕久久臀| 中文字幕久热精品视频在线| 日韩精品中文字幕在线| 日本精品中文字幕| 欧美成人激情视频免费观看| 国产精品久久久久91| 国内精品视频一区| 综合欧美国产视频二区| 日韩精品视频观看| 日韩中文字幕网站| 国产日韩精品视频| 午夜精品免费视频| 日韩成人免费视频| 欧美韩国理论所午夜片917电影| 狠狠色狠色综合曰曰| 国产亚洲欧美日韩一区二区| 92国产精品久久久久首页| 亚洲美女动态图120秒| 日韩中文字幕视频在线观看| 欧美日韩中文字幕在线| 理论片在线不卡免费观看| 亚洲国产天堂久久国产91| 久久久久久久久久久久久久久久久久av| 色诱女教师一区二区三区| 亚洲爱爱爱爱爱| 亚洲成人动漫在线播放| 中文字幕国产精品久久| 日韩中文av在线| 国产亚洲美女精品久久久| 91久久久精品| 亚洲另类欧美自拍| 色哟哟网站入口亚洲精品| 亚洲自拍偷拍色片视频| 日韩最新中文字幕电影免费看| 91精品在线国产| 国产精品视频yy9099| 亚洲视频在线视频| 欧美日本国产在线| 国产精品狼人色视频一区| 亚洲一区二区三区香蕉| 国产精品网红福利| 国产女精品视频网站免费| 国产精品入口日韩视频大尺度| 成人字幕网zmw| 红桃视频成人在线观看| 51久久精品夜色国产麻豆| 茄子视频成人在线| 国产高清视频一区三区| 亚洲国产精品成人av| 亚洲欧美中文字幕在线一区| 在线观看日韩专区| 97超碰蝌蚪网人人做人人爽| 91久久在线视频| 国产综合在线视频| 久久精品亚洲精品| 91精品久久久久久综合乱菊| 欧美激情欧美激情在线五月| 国产亚洲在线播放| 久久精视频免费在线久久完整在线看| 亚洲视频一区二区三区| 久久精品国产久精国产思思| 精品中文字幕乱| 亚洲第一福利视频| 久久av在线看| 欧美一区二区视频97| 97视频在线观看免费高清完整版在线观看| 亚洲天堂免费在线| 国产欧美日韩中文| 97超级碰碰人国产在线观看| 丝袜美腿亚洲一区二区| www欧美日韩| 国产精品一区电影| 国产精品高潮粉嫩av| 在线电影欧美日韩一区二区私密| 欧美电影《睫毛膏》| 国产视频在线观看一区二区| 亚洲亚裔videos黑人hd| 欧美电影免费观看大全| 午夜精品一区二区三区视频免费看| 精品日韩视频在线观看| 在线激情影院一区| 国产欧美精品一区二区三区介绍| 欧美激情国产高清| 国产欧美一区二区三区久久| 亚洲美女福利视频网站| 精品偷拍各种wc美女嘘嘘| 中文字幕日韩av电影| 亚洲天堂男人天堂女人天堂| 亚洲国产婷婷香蕉久久久久久| 96精品久久久久中文字幕| 亚洲一区二区国产| 国产精品欧美在线| 日本韩国欧美精品大片卡二| 毛片精品免费在线观看| 国产日韩在线观看av| 久久久精品视频在线观看| 在线观看欧美日韩国产| 日韩视频一区在线| 综合国产在线观看| 久久精品视频在线播放| 91极品女神在线| 精品国产91久久久久久| 国产精品久久中文| 亚洲黄色有码视频| 精品福利视频导航| 狠狠操狠狠色综合网|