溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java是什么類型語言

發(fā)布時間:2020-10-30 10:30:17 來源:億速云 閱讀:158 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關java是什么類型語言,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Java語言可以說它是解釋型語言,因為Java代碼編譯后不是機器可以識別的語言,而是字節(jié)碼所以不能直接運行,需要jvm的解釋才能在各個平臺上運行。

Java語言

Java語言可以說它是編譯型的,因為所有的Java代碼都是要編譯的,.java不經(jīng)過編譯就什么用都沒有;也可以說它是是解釋型的,因為java代碼編譯后不能直接運行,它是解釋運行在JVM上的,所以它是解釋運行的。

但是,現(xiàn)在的JVM為了效率,都有一些JIT優(yōu)化。它又會把.class的二進制代碼編譯為本地的代碼直接運行,所以,又是編譯的。

像C、C++ 他們經(jīng)過一次編譯之后直接可以編譯成操作系統(tǒng)了解的類型,可以直接執(zhí)行的 所以他們是編譯型的語言。沒有經(jīng)過第二次的處理而Java不一樣他首先由編譯器編譯成.class類型的文件,這個是java自己類型的文件 然后在通過虛擬機(JVM)從.class文件中讀一行解釋執(zhí)行一行,所以他是解釋型的語言,而由于java對于多種不同的操作系統(tǒng)有不同的JVM所以 Java實現(xiàn)了真正意義上的跨平臺!

Java的虛擬機機制

(1)java語言的編譯-->解釋--->執(zhí)行過程

java是什么類型語言

(2)java的虛擬機

java是什么類型語言

編譯型語言與解釋型語言

編譯型語言:把做好的源程序全部編譯成二進制代碼的可運行程序。然后,可直接運行這個程序。

解釋型語言:把做好的源程序翻譯一句,然后執(zhí)行一句,直至結束!

區(qū)別

編譯型語言,執(zhí)行速度快、效率高;依靠編譯器、跨平臺性差些。

解釋型語言,執(zhí)行速度慢、效率低;依靠解釋器、跨平臺性好。

總結

個人認為,java是解釋型的語言,因為雖然java也需要編譯,編譯成.class文件,但是并不是機器可以識別的語言,而是字節(jié)碼,最終還是需要 jvm的解釋,才能在各個平臺執(zhí)行,這同時也是java跨平臺的原因。所以可是說java即是編譯型的,也是解釋型,但是假如非要歸類的話,從概念上的定義,恐怕java應該歸到解釋型的語言中。

關于java是什么類型語言就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI