即時編譯器預先把程序編譯完成,當執行時就直接調用。
而JAVA解釋器則是當需要調用該代碼時才臨時編譯解釋,而且沒執行一次就要編譯一次,而即時編譯器則是一次編譯多次執行。
㈡ 超贊,編譯器和解釋器的異同,瞬間明白了
編譯器和解釋器的最大不同就是:以 WINDOWS 系統為例進行講解就是:編譯器是可以把用戶編寫的源程序(例如:C 語言源程序)經過編譯、鏈接產生成一個在 WINDOWS 系統下面可獨立運行的二進制代碼(以 *.exe 為後綴的);而解釋器則必須在高級語言的解釋環境中才能夠運行用戶編寫的源程序,一旦退出了解釋器,那麼用戶編寫的源程序將無法執行。例如:以前的 BASIC 語言就是解釋執行、而不是編譯執行的。即:在 BASIC 解釋環境中,可以執行用戶編寫的以 *.BAS 為後綴的源程序,但是一旦退出了 BASIC 解釋器,那麼用戶編寫的 *.BAS 源程序就無法執行了。
㈢ 計算機都有編譯器和解釋器嗎
編譯器是程序員開發程序用的~!
而解釋器則是執行腳本程序用到~
編譯器和解釋器都是軟體,非硬體``
而計算機上通常在系統中已裝有某些腳本或批處理的解釋器。
編譯器大多數就沒有內置安裝了。
㈣ jdk中的編譯器是什麼,解釋器是什麼
編譯器是指java程序運行時對java代碼進行語法檢查和代碼規范的一種機制,若不符合代碼規范和語法有錯誤編譯器將會報錯,代碼將無法運行。解釋器我很少聽說,是不是編譯器報錯的時候出現的錯誤提示?
㈤ 計算機有解釋器為什麼還要有編譯器 明顯是編譯器要快捷於解釋器啊…………
下面這個回答可以參考:
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)
編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。
解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。同時解釋器也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,解釋器本身也佔用了寶貴的系統資源。
㈥ 編譯器和解釋器的主要區別是什麼他們相對於對方各自的優點
解釋器是解釋執行的源代碼,編譯器是將源代碼編譯成目標代碼
他們最大的區別是程序運行時需要解釋器邊解釋邊執行,而編譯器則在運行時是完全不需要的
解釋器的優點是比較容易讓用戶實現自己跨平台的代碼,比如java,php等,同一套代碼可以在幾乎所有的操作系統上執行,而無需根據操作系統做修改;
編譯器的目的就是生成目標代碼再由連接器生成可執行的機器碼,這樣的話需要根據不同的操作系統編制代碼,雖然有像Qt這樣的源代碼級跨平台的編程工具庫,但在不同的平台上仍然需要重新編譯連接成可執行文件,但其執行效率要遠遠高於解釋運行的程序。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進制的形式)
㈦ java解釋器和編譯器分別是什麼
Java的編譯方式有兩種,一種是和C++等語言一樣的,把源代碼編譯成和本地機器平台相關的機器語言,叫即時編譯。另一種是編譯成一種中間的位元組碼,與機器平台無關的,這種也是常用的,叫解釋型的。
即時編譯器因為產生的是本地機器的機器碼,能直接執行;不像位元組碼還要在JVM(Java虛擬機)上解釋運行,所以執行得更快些。
請採納!