計算機高級語言程序的執(zhí)行方式可分為編譯型和解釋型兩種
一、編譯型語言
編譯型是指使用專門的編譯器,針對特定的平臺將
程序的源代碼一次性編譯成平臺能執(zhí)行的程序格式。編
譯生成的可執(zhí)行性程序可以脫離開發(fā)環(huán)境,獨立的運行
在特定的平臺。因為編譯型語言程序是一次性編譯成特
定平臺的機器碼,所以編譯完成的機器碼通常不能移植
到其他平臺運行,必須將源代碼復制到特定的平臺,采
用特定平臺的編譯器重新編譯。現(xiàn)C C++ OC Pascal
等都是編譯型語言
二、解釋型語言
解釋型語言是指使用專門的解釋器對源程序逐行進行
解釋成特定平臺的機器碼并立即執(zhí)行的語言??梢哉J
為每次執(zhí)行解釋性語言都要進行一次編譯,因此解釋
型語言運行效率通常較低,也不能脫離解釋器獨立運
行,現(xiàn)Ruby Python JavaScript等都是解釋型語言
三、java程序的運行機制
java語言比較特殊,由于java 語言寫的程序需要經過
編譯步驟,但又 不會一次性生成特定平臺能執(zhí)行的
機器碼,而是生成一種與平臺無關的字節(jié)碼(.class
文件)這種字節(jié)碼不是可直接執(zhí)行的,必須通過java
解釋器(JVM)來解釋執(zhí)行。所以java語言可以說即是
編譯型又是解釋型語言。java程序必須經過先編譯后
解釋兩個步驟。
四、Java 虛擬機(JVM)
Java 虛擬機(JVM)負責解釋執(zhí)行java程序編譯完的字
節(jié)碼(.class文件)。Java 編譯程序時生成的是與平臺
無關的字節(jié)碼,這些字節(jié)碼不面向任何特定的平臺,
只面向JVM。不同平臺上的JVM都不同,但他們都提
供了能解釋.class文件的接口,所以JVM是java 跨平
臺的關鍵部分。
注:文章摘抄于《Java瘋狂講義》。
五、Android 平臺虛擬機
貼篇別人博客以便日后查閱http://blog.csdn.net/seu_calvin/article/details/52354964