Java~是編譯型語言還是解釋型語言? 它是如何利用這一特性實現跨平臺?

編譯型語言的定義

  • 編譯型語言:把做好的源程序全部編譯成二進制代碼的可運行程序。然後,可直接運行這個程序。
  • 編譯型語言,執行速度快、效率高;依靠編譯器、跨平臺性差些。

解釋型語言的定義

  • 解釋型語言:把做好的源程序翻譯一句,然後執行一句,直至結束
  • 解釋型語言,執行速度慢、效率低;依靠解釋器、跨平臺性好。

Java到底是編譯型語言還是解釋型語言

在這裏插入圖片描述

  • 我們知道像C、C++ 他們經過一次編譯之後直接可以編譯成操作系統瞭解的類型,沒有經過第二次的處理., 可以直接執行的 所以他們是編譯型的語言。

  • 但是從上圖我們可以發現 Java不一樣,它首先由編譯器編譯成.class(字節碼)文件,然後在通過JVM從 .class文件中讀一行解釋執行一行 這樣就使我們陷入模糊 有編譯過程也有解釋過程 那java到底是什麼類型語言?

  • 答案是解釋型 原因如下:
    雖然java也需要編譯,編譯成.class文件,但是並不是機器可以識別的二進制文件,而是字節碼文件 不可以直接運行這個程序需要藉助jvm的解釋纔可以運行

它是如何利用這一特性實現跨平臺?

  • 剛剛我們說到java是解釋型語言 其源程序雖然編譯過 但是是編譯成字節碼文件 最終還是需要 jvm的解釋,才能在各個平臺執行,也正是由於java對於多種不同的操作系統有不同的JVM,所以實現了真正意義上的跨平臺。
    在這裏插入圖片描述
  • 編譯型的語言包括:C、C++、Delphi、Pascal、Fortran
  • 解釋型的語言包括:Java、Basic、javascript
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章