導航:首頁 > 源碼編譯 > java中什麼叫編譯

java中什麼叫編譯

發布時間:2023-05-13 02:59:00

java編譯器的作用是什麼

java編譯器的作用就是「編譯」,即將java源代碼編譯成中間代碼位元組碼文件。

編譯時,編譯器(java.exe)首先讀入 java 源代碼,然後進行語法檢查,如果出現問題就終止編譯。語法檢查通過後,生成中間代碼即位元組碼。

位元組碼文件是一種和任何具體機器環境及操作系統環境無關的中間代碼,它是一種二進制文件,是Java源文件由Java編譯器編譯後生成的目標代碼文件。

編譯器編譯生成與平台無關的位元組碼文件後,提供給 JVM (Java虛擬機)執行。

❷ Java語言中編譯執行和解釋執行的區別

編譯執行和解釋執行是不同語言之間的特性,所有的java都是編譯執行的。
如果不是編譯執行,其實已經完全不用java的編譯器。那麼只是一個使用java語法的另一種語言而已。
編譯執行是指把代碼先編譯成機器碼。然後按順序運行,如果編譯中有任何異常,都無法繼續運行。java的編譯就是把java轉換成class。
而解釋執行則是運行到哪一行代碼就執行哪一行代碼。如果其他代碼有錯誤但沒有運行到,一般不會影響。
比較起來,編譯執行速度要快的多。而解釋執行則在於比較靈活。可以動態修改。甚至可以在代碼運行到指定語句之前,修改該代碼。

❸ java中編譯的意思,解釋的意思。

Java是編譯的,因為他把源代碼變成了位元組碼,而不是每次都解釋源代碼。

Java是解釋的。因為位元組碼是被JVM負責執行,而不是真正的二進制碼!

❹ java編譯和運行。

首先cd到你java文件存放的目錄,比如你的java文件的名稱為helloworld.java,在cmd中輸入javac
helloworld.java
敲擊回車,這個命令會將你的java文件編譯成class文件,然後在cmd框中輸入java
helloworld敲擊回車就能運行你的java文件輸出結果

❺ 什麼叫java編譯

就是把.Java文件編譯成.class文件

❻ java語言中什麼叫做編譯錯誤

就是你用javac命令將源代碼(.java)文件翻譯成位元組碼(.class)文件時產生的錯誤。
比如,變數名不符合規定,變數沒定義,關鍵字拼寫錯誤等等。。。
java的編譯器(javac)會根據java語法規定做一些檢查,不符合規定的就不通過編譯。

編譯錯誤,是相對於運行時錯誤而言的。
運行時錯誤,是你用java命令運行時會出現的錯誤,一般會拋出異常。

❼ 請問java程序在編譯和運行時有什麼區別,系統分別都會做什麼

Java程序的編譯
使用命令: javac *.java
編譯時,會將寫的.java文件(高級語言),生成相應的位元組碼文件.class文件(二進制代碼)
Java程序的執行
使用命令:java *
流程: 載入到 -- 連接 ---- 初始化 ...
運行時,首先會由將相應的.class文件,載入到內存中,並驗證.class文件的有效性,將相應類的Class載入到內存中,並對類中的靜態變數進行初始化操作,然後就由 主 類開始執行
具體的可以看一下 JVM 類載入過程,以及jVM的內存分配機制

❽ java為什麼要編譯

因為java的跨平台特性,java所謂的一次編譯,到處運行,關鍵就是在於java的虛擬機,也就是jvm,jvm只認識位元組碼,所以你寫好的java代碼就需要編譯成位元組碼才能在jvm上運行。其實不只是java需要編譯,C也需要編譯,機器本身並不能認識你寫的代碼,它們只認識0、1這樣的位元組碼,所以無論是你用什麼樣的語言編寫的代碼,要想最終在物理機器上運行,都要進行編譯。

❾ Java程序的翻譯方式是「編譯」還是「解釋」

java結合了編譯和解釋過程。Java源程序首先被編譯成class文件,命令javac,這一點大家都毫無疑問。然後,由虛擬機(jvm)對class文件加以解釋執行。
個人覺得,解釋器不對源程序做任何改變,這也是證明java不是解釋語言的證據,因為有class文件

❿ JAVA語言是解釋型還是編譯型語言

java的編譯器先將其編譯為class文件,也就是位元組碼;然後將位元組碼交由jvm(java虛擬機)解釋執行;
所以很多地方都說「java是一種半編譯、半解釋執行」的語言;
近來(其實也不是很"近")Oracle的(以前是Sun的)HotSpot VM採用了jit compile(just in time compilation)技術,將運行頻率很高的位元組碼直接編譯為機器指令執行以提高性能, 所以當位元組碼被jit編譯為機器碼的時候,要說它是編譯執行的也可以...
不過總體來講,java的編譯結果是被jvm「解釋執行」的,所以這么說也能說通,而其實這個「是編譯還是解釋」這個概念在這里已經有點模糊了,理解它的過程就行了,不必下一個「精確」的定義;
而我自己仍然贊成「java是編譯型語言」的說法,因為「編譯」其本質就是「把一個相對高級的語言轉換為另一個相對低級的語言」,而由java -> class文件的編譯已經滿足了這個特徵; 而後面你要說jvm是「解釋執行」的,那其實硬體對於機器碼又何嘗不是「解釋執行」呢?

閱讀全文

與java中什麼叫編譯相關的資料

熱點內容
為什麼蘋果ipad連接不上伺服器 瀏覽:927
可樂app怎麼用卡密 瀏覽:766
路由器如何打開dhcp伺服器地址 瀏覽:75
谷歌圖片怎麼搜索app 瀏覽:863
江蘇文件夾模具廠 瀏覽:464
安卓系統網線攔截怎麼關閉 瀏覽:31
伺服器和終端是什麼 瀏覽:516
換安卓蘋果照片怎麼弄回去 瀏覽:260
如何向ca中心申請伺服器 瀏覽:187
從java到Android 瀏覽:551
福建加密app哪個好用 瀏覽:382
opengl游戲編程徐明亮pdf 瀏覽:619
單片機row怎麼用 瀏覽:981
虛函數表與反編譯 瀏覽:134
網上的滴滴搶單app是怎麼做的 瀏覽:384
eve手游ios賬號怎麼登錄安卓的 瀏覽:622
linuxoracle12安裝教程 瀏覽:697
凱迪仕cpu動態加密 瀏覽:751
dell伺服器如何啟動 瀏覽:968
數字信號處理第三版pdf 瀏覽:684