国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

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

Java代碼編譯過程簡述

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

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規范的代碼。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
伊人免费在线| 开心婷婷激情| 日本视频一二三区中文字幕| 激情网站在线| 免费国产在线视频| 午夜影院在线免费观看| 97在线超碰| 天天干天天摸| 另类综合图区| 国产精品冒白浆免费视频| 国产精品入口麻豆免费观看| 国产中文字幕网| 国产精品视频一区二区久久| 在线免费看黄av| 影音先锋在线中文字幕| 在线观看国产视频| 天天插天天色| 最近高清中文在线字幕在线观看| 国产毛片毛片| 国产精品扒开做爽爽爽的视频| av免费在线观看网站| eeuss影院在线观看第一页| sm国产在线调教视频| 中文字幕日本在线| 97最新国自产拍视频在线完整在线看 | 精灵使的剑舞无删减版在线观看| av中文在线资源| 久久久久久久久久久久网站| 精品入口麻豆传煤| 在线观看免费观看在线91| 国产福利av网站| 国产二级c片l毛片| 99久久99热久久精品免费看| 国产情侣高潮对白| 在线一区二区三区精品| 国产精品186在线观看在线播放| 亚洲最新永久在线观看| a视频免费看| 精品视频一二三| 国产对白在线| 国产在线看片| 伊人网在线视频| 国产精品va在线观看视色| 国产在线免费观看| 在线观看中文| 四虎成人欧美精品在永久在线| 国产免费视频| 九九热免费视频| 精品一二三四| 福利视频网址导航| 精品成人免费自拍视频| 国产美女高潮| av在线免费播放| 在线中文视频| 国产精品你懂的在线观看| 91中文字幕| 国产网站麻豆精品视频| 亚洲综合激情六月婷婷在线观看| 精品美女调教视频| 国产中文字幕第一页| 国产视频青青| 国产男女无套在线播放| 国产黄在线看| 高清av中文在线字幕观看1| 国产精品粉嫩av| a视频免费看| 在线一二三区| 樱花草在线观看www| 国产日产一区二区| 黄污在线观看| 欧美a免费在线| 欧美日韩性视频一区二区三区| 中文字幕不卡免费视频| 女子免费在线观看视频www| 精品国产白色丝袜高跟鞋| 亚洲精品自拍区在线观看| 国产二区三区四区| 国产91久久久久| 69久久精品| 精品美女在线观看视频在线观看| 国产午夜在线视频| 国产精品臀控福利在线观看| 五月婷婷丁香激情| 午夜视频在线免费| 国产日韩欧美第一页| 国产福利电影在线观看| 在线视频中文字幕第一页| 国产精品毛片一区二区三区四区| 国产精品视频二区三区| 国产香蕉视频在线观看| 激情丁香久久| 国产在线视频网站| 国产精选在线视频拍拍拍| 国自产拍在线网站网址视频| 国产男女av| 国产极品嫩模在线视频一区| 国产精品美女视频免费观看软件 | 尤物在线精品视频| av免费在线观看网站| gogo在线高清视频| 国产免费自拍视频| 国产在线日本| 2019中文字幕在线视频| 亚洲大香人伊一本线| 九九热在线视频| 五月婷婷在线观看| 亚洲欧洲成人| 黄色在线视频观看网站| 精品美女调教视频| 狠狠干天天干| 中文视频在线| 国产欧美日韩第一页| 国产激情自拍视频| 国产永久av在线| 国产三级视频在线看| 欧洲有码在线视频| 国产精品久久久久久精| 久久五月精品| 国产高清视频免费最新在线| 欧美日韩视频精品二区| 91xxx在线观看| 日本视频一二三区中文字幕| 国产亚洲精品久久久久久移动网络| av在线第一页| 最新天堂资源在线资源| **三级三级97片毛片| 秋霞av在线| 牛牛精品视频在线| av免费在线一区二区三区| 中文字幕色视频| 国产在线观看18| 日本电影全部在线观看网站视频 | 中文字幕免费中文| 久热精品视频在线播放| 国产l精品国产亚洲区在线观看| 开心快乐六月丁香婷婷| 在线黄色.com| 高潮白浆视频| 国产99在线|亚洲| 日本在线观看网站| 福利视频网址导航| 精品美女在线观看视频在线观看 | 日本成人网址| 国产午夜电影| 久热精品免费视频| 精品久久久久一区二区三区| 青青在线视频| 91中文字幕网| 中文字幕免费中文| 日本免费不卡| 精品黄色免费中文电影在线播放| 99re在线视频播放| 国产激情视频一区二区| 超碰国产在线| 午夜影院免费看| 精品伦理一区二区| 全网国产福利在线播放| 国产爆初菊在线观看免费视频网站| 狠狠操天天操夜夜操| 亚洲免费国产| 97一区二区三区| 国产极品美女到高潮| 国产真实伦在线观看| 麻豆网站在线免费观看| 97中文字幕| 91青青在线视频| 国产极品一区二区三区| 超碰免费在线| 国产素人视频在线观看| 欧美aaa一级片| 欧美日韩性视频一区二区三区| 国产免费人人看| 国产永久免费高清在线观看| 欧美性猛交p30| 日本h视频在线观看| 日本高清中文字幕二区在线| 精品国产二区三区| 国产夫妻视频| av手机天堂| 中文天堂av| 波多野结衣中文字幕久久| 香蕉视频在线观看www| 四虎国产精品永久| xxx国产精品| 天天操夜夜摸| 国产精品秘入口| 国产一二三区在线| 尤物在线视频观看| 牛牛精品视频在线| 中文字幕免费在线视频| 18成年在线观看| 四虎精品视频| 91超碰在线免费| 精品视频一区二区观看| 国产精品被窝福利一区| 99re在线视频| 国产精品视频二区三区| 国产porny蝌蚪视频| a级片国产精品自在拍在线播放| 黄色网址在线免费播放|