尚學堂【官網】-西安Java培訓|c++培訓|Android培訓|安卓培訓|java視頻教程|軟件工程師|-西安雁塔尚學堂計算機學校
常見問題  尚學堂首頁新聞公告常見問題

Javac編譯器的工作過程

www.zyopwk.live 發布人:java  |  來自:本站  |  發布時間:2019-05-18 13:53:00  |  點擊次數:3068

尚學堂Java培訓

  javac的任務是將Java源代碼語言先轉化成JVM能夠識別的一種語言,然后由JVM將JVM語言再轉化成當前這個機器能夠識別的機器語言。

  Javac主要有四個模塊,分別是詞法分析器、語法分析器、語義分析器、代碼生成器。

  一、詞法分析器

 

  當編譯器要讀取源代碼,一個字節為一節地讀進來,找出在這些字節中有那些是我們定義的語法關鍵詞,這個步驟就是詞法分析器。詞法分析的結果就是從源代碼中找出一些規范化的Token流。

  二、語法分析器

 

  找出Token流后,檢查這些關鍵詞組合在一起是不是符合java語言規范,就是語法分析,結果就是形成一個符合java語言規范的抽象語法樹。

  三、語義分析器

 

  語義分析主要是把一些難懂的、復雜的語法轉換成更加簡單的語法。

  這個過程就是將語法分析后生成的抽象語法樹在進行一些處理,如,給類增加默認的構造函數,檢查變量在使用前是否經過初始化,將一些常量進行合并處理,檢查操作變量類型是否匹配,檢查所有的操作語句是否可達,檢查checkedexception異常是否已經捕獲或拋出,接觸java的語法糖(如將java中foreach轉換成for循環結構。)

  四、代碼生成器

 

  最后一步是通過字節碼生成器生成字節碼,根據經過注解的抽象語法樹生成字節碼,結果也就是生成符合java虛擬機規范的字節碼了。

  學習【Java】有困難需要培訓可以加QQ3168098131交流咨詢,每星期都有免費實戰試聽課等你來約。

尚學堂java培訓

當前文:Javac編譯器的工作過程
上一頁:程序員如何去快速定位bug
下一頁:西安尚學堂每日一練數據庫相關題目
在線報名(*為必填項)
云南快乐十分开奖走势图