java是編譯型語言還是解釋型語言?Python ? C?

首先拿python和C說明,python運行速度慢,和C程序相比非常慢,因爲Python是解釋型語言,你的代碼在執行時會一行一行地被python解釋器翻譯成CPU能理解的機器碼,這個翻譯過程非常耗時,所以很慢。而C/C++程序是編譯型語言,運行前直接編譯成CPU能執行的機器碼,所以非常快。

但是Java呢?Java運行前需要編譯,.java不經過編譯就無法執行,所以有人就說Java是編譯型的。

但是編譯後的.class文件是字節碼,並不是機器能直接執行的機器碼,它是解釋運行在JVM上的,所以也有人說它是解釋型的。

對於C和C++,它們經過一次編譯之後,可以由操作系統直接執行,所以它們是編譯型語言。而Java不一樣,它首先由編譯器編譯成.class(字節碼)文件,然後在通過JVM從.class文件中讀一行解釋執行一行,所以它是解釋型的語言。也正是由於java對於多種不同的操作系統有不同的JVM,所以實現了真正意義上的跨平臺。

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