JAVA編譯器(javacexe)是一種基本的開發(fā)工具,用于將Java源程序編譯成中間代碼字節(jié)碼文件。編譯過程首先讀入Java源程序,然后進行語法檢查。如果語法檢查通過,編譯器將生成中間代碼即字節(jié)碼,字節(jié)碼文件名和源文件名相同,但擴展名為.class。如果在語法檢查過程中出現(xiàn)問題,編譯器將終止編譯。
基本概念
編譯時首先讀入java源程序(即在MS-DOS命令行下鍵入javac HelloWorld.java等文件名參數(shù)和其他選項參數(shù)),然后進行語法檢查,如果出現(xiàn)問題就終止編譯。語法檢查通過后,生成中間代碼即字節(jié)碼,字節(jié)碼文件名和源文件名相同,擴展名為.class。
Java以跨平臺、面向對象、多線程、兼具編譯型語言和解釋型語言、穩(wěn)定性好、安全性強的特點,以及與Internet的完美結合而取得成功。
工作原理
字節(jié)碼文件是一種和任何具體機器環(huán)境及操作系統(tǒng)環(huán)境無關的中間代碼,它是一種二進制文件,是Java源文件由Java編譯器編譯后生成的目標代碼文件。編程人員和計算機都無法直接讀懂字節(jié)碼文件,它必須由專用的Java解釋器來解釋執(zhí)行,因此Java是一種在編譯基礎上進行解釋運行的語言。
Java解釋器負責將字節(jié)碼文件翻譯成具體硬件環(huán)境和操作系統(tǒng)平臺下的機器代碼,以便執(zhí)行。因此Java程序不能直接運行在現(xiàn)有的操作系統(tǒng)平臺上,它必須運行在被成為Java虛擬機的軟件平臺之上。
Java語言這種“一次編寫,到處運行”的方式,有效地解決了目前大多數(shù)高級程序設計語言需要針對不同系統(tǒng)來編譯產(chǎn)生不同機器代碼的問題,即硬件環(huán)境和操作平臺的異構問題,大大降低了程序開發(fā)、維護和管理的開銷。
參考資料 >