Java是編譯型語言還是解釋型語言
- 答案:java既是編譯型語言,也是解釋型語言,
-
你可以說它是編譯型的,因為所有的Java代碼都需要經過javac編譯為.class檔案,但主要是由于java現在擁有了jit,會將熱點代碼的.class檔案直接編譯為二進制本地代碼,
-
你可以說它是解釋型的,因為java代碼編譯后.class檔案還是不能直接運行在作業系統上,還需要經過jvm解釋為二進制代碼,
-
現在的JVM為了效率,都有一些JIT(Just In-Time Compiler)優化,它又會把熱點代碼的.class的二進制代碼編譯為本地的代碼直接運行,所以,又是編譯的,像C、C++ 他們經過一次編譯之后直接可以編譯成作業系統了解的型別,可以直接執行的 所以他們是編譯型的語言,沒有經過第二次的處理 而Java不一樣他首先由編譯器編譯成.class型別的檔案,這個是java自己型別的檔案 然后在通過虛擬機(JVM)從.class檔案中讀一行解釋執行一行,所以他是解釋型的語言,而由于java對于多種不同的作業系統有不同的JVM所以 Java實作了真正意義上的跨平臺!
-
編譯型語言:把做好的源程式全部編譯成二進制代碼的可運行程式,然后,可直接運行這個程式,
解釋型語言:把做好的源程式翻譯一句,然后執行一句,直至結束! -
編譯型語言,執行速度快、效率高;依靠編譯器、跨平臺性差些,
解釋型語言,執行速度慢、效率低;依靠解釋器、跨平臺性好, -
編譯型的語言包括:C、C++、Delphi、Pascal、Fortran
解釋型的語言包括:Java、Basic、javascript
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488696.html
標籤:其他
