JAVA為啥編譯解釋
程序設計高級語言的原理都是相似的。JAVA,C,C++,等都類似。
說一下JAVA的:
我們先把自然語言,也就是我們平時的話寫成程序設計高級語言,這是編程。
然後再通過編譯器生成class也就是位元組碼文件,這個過程是編譯。此時的class文件我們也可以稱之為二進制碼,就是計算機可識別的0,1文件了。而編譯是計算機內部運行,不需要編程者操作。
.java是以源文件形式存在,是編譯器和我們都可識別的語言。
編譯器識別了.java文件後生成.class文件,是編譯器和計算機可識別的語言。
然後計算機會使同名的.java和.class文件關聯,計算機自己有兩次翻譯過程,而這個過程操作者並不需要操心。之後我們就可以運行.java文件了。
⑵ java是編譯性語言還是解釋性語言
一、你可以說它是編譯型的。因為所有的Java代碼都是要編譯的,.java不經過編譯就什麼用都沒有。
二、你可以說它是解釋型的。因為java代碼編譯後不能直接運行,它是解釋運行在JVM上的,所以它是解釋運行的,那也就算是解釋了。
定義:
編譯型語言:把做好的源程序全部編譯成二進制代碼的可運行程序。然後,可直接運行這個程序。
解釋型語言:把做好的源程序翻譯一句,然後執行一句,直至結束!
區別:
編譯型語言,執行速度快、效率高;依靠編譯器、跨平台性差些。
解釋型語言,執行速度慢、效率低;依靠解釋器、跨平台性好。
個人認為,java是解釋型的語言,因為雖然java也需要編譯,編譯成.class文件,但是並不是機器可以識別的語言,而是位元組碼,最終還是需要 jvm的解釋,才能在各個平台執行,這同時也是java跨平台的原因。所以可是說java即是編譯型的,也是解釋型,但是假如非要歸類的話,從概念上的定義,恐怕java應該歸到解釋型的語言中。
⑶ 為什麼說Java是一種解釋性語言
java是編譯型的語言,不是解釋型的。
與編譯型程序不同,每次運行解釋型程序時都要由解釋器程序實時地將源代碼轉換成二進制形式,而編譯型程序由編譯器一次性將源代碼轉換成可執行代碼,隨後從其二進制形式運行。解釋型語言(以及用它們編寫的程序)往往要比編譯型語言及偽代碼語言/程序慢,並且通常只有有限的底層操作系統功能訪問許可權或直接訪問硬體的許可權。但從另一角度來說,它們無需編譯器(可能非常昂貴),並且經常包含在操作系統中,通常比編譯型語言更容易編程。
⑷ java語言在被設計的時候為什麼會加上 編譯 這一步
java語言在被設計的時候為什麼會加上編譯這一步,其實主要的考慮因素是性能,靜態語言的執行效率比動態語言要高得多。所以需要編譯。
⑸ java中編譯的意思,解釋的意思。
Java是編譯的,因為他把源代碼變成了位元組碼,而不是每次都解釋源代碼。
Java是解釋的。因為位元組碼是被JVM負責執行,而不是真正的二進制碼!
⑹ 為什麼java要編譯成位元組碼解釋執行而不是直接解釋執行源碼
為了跨平台
編譯成的位元組流文件.class,與硬體和操作系統無關,這是跨平台基礎,然後具體執行,再用各自平台解釋器,解釋成本地機器碼
更多交流,進我空間
------------------------------------------
java是一種編譯+解釋的語言,編譯的結果本身保證了代碼安全和版權,如果全部解釋源代碼,象早期的ASP,那JAVA就不敢用於銀行、證劵等安全性較高的場合
