Java語言和Python語言是解釋型語言還是編譯型語言

Java語言和Python語言是解釋型語言還是編譯型語言

 

解釋性語言定義:

程序不需要編譯,在運行程序的時候才翻譯,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就需要逐行翻譯一次,效率比較低。

現代解釋性語言通常把源程序編譯成中間代碼,然後用解釋器把中間代碼一條條翻譯成目標機器代碼,一條條執行。

 

編譯性語言定義:

編譯性語言寫的程序在被執行之前,需要一個專門的編譯過程,把程序編譯成爲機器語言的文件,比如exe文件,以後要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因爲翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。

 

 

Java語言運行過程:

JAVA的第一道工序是javac編譯,目標文件是BYTECODE(字節碼);BYTECODE由JVM逐條解釋執行。參見下圖:

 

Python語言運行過程:

Python解釋器將源代碼轉換爲字節碼,然後把編譯好的字節碼轉發到Python虛擬機(PVM)中進行執行。參見下圖:

 

一般認爲,Java、Python是解釋型語言,只是不那麼純粹。也可以認爲它們是先編譯再解釋的編程語言。並非所有高級語言都是要麼是編譯型語言,要麼就是解釋型語言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章