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

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

Java代碼編譯過程簡述

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

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
国内精品久久久久伊人av| 欧美交受高潮1| 国产精品极品尤物在线观看| 欧美国产日韩一区| 欧美日韩国产一区二区| 日韩免费在线观看视频| 精品一区二区三区四区在线| 欧美成人免费小视频| 亚洲第一福利网| 欧美极品少妇xxxxx| 国产精品爱久久久久久久| 欧美日韩在线观看视频小说| 亚洲欧洲免费视频| 国产一区二区三区在线免费观看| 欧美日本国产在线| 久久91精品国产| 中文字幕日韩在线观看| 亚洲一区二区三区香蕉| 亚洲精品久久久久中文字幕欢迎你| 欧美韩日一区二区| 91精品视频免费| 国产精品久久久久久亚洲影视| 欧美成人午夜激情视频| 成人h视频在线观看播放| 在线免费观看羞羞视频一区二区| 欧美日韩爱爱视频| 7m精品福利视频导航| 成人网页在线免费观看| 亚洲成人激情图| 欧美日韩免费网站| 中文字幕在线看视频国产欧美在线看完整| 亚洲欧美在线一区| 久久国产一区二区三区| 国产亚洲精品美女久久久久| 欧美在线视频观看| 日韩免费观看av| 成人激情视频小说免费下载| 日韩av在线高清| 91精品国产综合久久香蕉的用户体验| 色七七影院综合| 精品国产鲁一鲁一区二区张丽| 2023亚洲男人天堂| 久久大大胆人体| 亚洲国产精品va在线观看黑人| 57pao精品| 91香蕉亚洲精品| 亚洲精品天天看| www.亚洲免费视频| 一区二区在线免费视频| 亚洲欧美国产va在线影院| 国产午夜精品视频| 午夜免费日韩视频| 国产免费一区二区三区香蕉精| 久久影视免费观看| 国产精品久久久久久中文字| 久久国产精品影视| 欧美高跟鞋交xxxxhd| 久久精品色欧美aⅴ一区二区| 国产精品日韩专区| 日韩免费看的电影电视剧大全| 亚洲图片在线综合| 在线观看国产精品日韩av| 中文字幕精品av| 爱福利视频一区| 欧美日韩国产在线| 欧美国产第一页| 国产精品88a∨| 懂色av一区二区三区| 91精品国产综合久久香蕉的用户体验| 国产精品天天狠天天看| 久久久亚洲国产| 中文字幕9999| www.精品av.com| 97在线视频免费播放| 亚洲视频欧洲视频| 国产福利精品av综合导导航| 欧美在线一级va免费观看| 97精品视频在线播放| 国产午夜精品麻豆| 亚洲午夜久久久影院| 亚洲石原莉奈一区二区在线观看| 精品久久久久久久久久国产| 国产精品成人一区二区三区吃奶| 欧美在线视频免费播放| 国产精品黄色影片导航在线观看| 日韩一区二区福利| 欧美日韩精品国产| 日韩av一区在线观看| 国产一区二区丝袜| 精品亚洲aⅴ在线观看| 在线播放亚洲激情| 久久九九精品99国产精品| 亚洲一区中文字幕在线观看| 成人h视频在线| 欧美在线一级视频| 午夜精品免费视频| 日本一区二区在线播放| 高清一区二区三区四区五区| 国产婷婷色综合av蜜臀av| 欧美在线精品免播放器视频| 国产香蕉一区二区三区在线视频| 亚洲精品国产综合久久| 欧美一级淫片播放口| 亚洲精品电影在线观看| 久久国产精品首页| 久久夜色精品国产亚洲aⅴ| 亚洲影院高清在线| 亚洲永久在线观看| 91亚洲va在线va天堂va国| 国产精品专区第二| 国产精品欧美亚洲777777| 麻豆国产精品va在线观看不卡| 欧美美最猛性xxxxxx| 国产精品午夜视频| 亚洲精品免费一区二区三区| 中文字幕在线看视频国产欧美在线看完整| 亚洲色图av在线| 亚洲伊人一本大道中文字幕| 亚洲大尺度美女在线| 久久久久www| 中文一区二区视频| 日韩美女在线观看| 欧美日韩精品在线视频| 国产精品视频资源| 欧美福利视频在线| 成人网在线视频| 国产精品视频自拍| 国产91ⅴ在线精品免费观看| 成人妇女免费播放久久久| 永久555www成人免费| 国产成人一区二区在线| 亚洲国内精品视频| 国产精品福利网| 综合欧美国产视频二区| 亚洲www在线观看| 久久精品电影网| 亚洲综合视频1区| 日韩在线小视频| 久久久精品电影| 国产精品免费久久久| 久久久久久久久久久av| 亚洲第一区中文字幕| 日韩精品久久久久| 日韩精品中文字幕在线| 日本不卡高字幕在线2019| 国产精品久久综合av爱欲tv| 成人久久18免费网站图片| 久久久久九九九九| 久久久视频免费观看| 亚洲国产第一页| 国产日韩换脸av一区在线观看| 高清日韩电视剧大全免费播放在线观看| 成人午夜在线视频一区| 午夜精品一区二区三区在线| 国产91热爆ts人妖在线| 日韩欧美一区二区在线| 国产精品国产三级国产专播精品人| 亚洲欧洲日韩国产| 欧美日韩国产中文精品字幕自在自线| 97超碰国产精品女人人人爽| 中文字幕亚洲综合久久筱田步美| 久久亚洲国产精品成人av秋霞| 精品香蕉一区二区三区| 国产精品视频一区二区三区四|