有人說Java是編譯型的。由於全部的Java代碼都是要編譯的,.java不通過編譯就沒法執行。 也有人說Java是解釋型的。由於java代碼編譯後不能直接運行,它是解釋運行在JVM上的,因此它是解釋型的。對於C和C++,它們通過一次編譯以後,能夠由操做系統直接執行,因此它們是編譯型語言。而Java不同,它首先由編譯器編譯成.class(字節碼)文件,而後在經過JVM從.class文件中讀一行解釋執行一行,因此它是解釋型的語言。也正是因爲java對於多種不一樣的操做系統有不一樣的JVM,因此實現了真正意義上的跨平臺。javascript
(1)Java語言的編譯-->解釋-->運行過程 java
(2)JVM到這裏,你們應該也都明白了。最後給出編譯型語言和解釋型語言的定義。 定義:編譯型語言:把作好的源程序所有編譯成二進制代碼的可運行程序。而後,可直接運行這個程序。 解釋型語言:把作好的源程序翻譯一句,而後執行一句,直至結束!特色:編譯型語言,執行速度快、效率高;依靠編譯器、跨平臺性差。 解釋型語言,執行速度慢、效率低;依靠解釋器、跨平臺性好。 spa
舉例:編譯型的語言包括:C、C++、Delphi、Pascal、Fortran 操作系統
解釋型的語言包括:Java、Basic、javascript。翻譯