導航:首頁 > 源碼編譯 > 編譯期和運行期的區別java

編譯期和運行期的區別java

發布時間:2022-07-18 14:50:03

1. java編譯時註解和運行時註解有什麼區別

區別如下:
1)編譯時註解,註解內容只存在源文件,在編譯期間將被丟棄,不能通過JVM獲取註解信息;
2)運行時註解,編譯時被存儲在.class位元組碼文件,可以通過JVM運行時獲取註解信息(且只限於被RUNTIME註解的註解)。

2. 求教JAVA編譯與運行的區別。

編譯只是編譯成了位元組碼,就是可執行的.class文件
運行時識別,主要是java的RTTI(運行時類型識別)機制和反射機制,而兩者之間的區別在於:
」對RTTI來說,編譯器在編譯期打開和檢查.class文件。(換句話說,我們可以用「普通」的方式調用一個對象的所有方法。),而對於反射機制來說,.class文件在編譯期是不可獲取的,所以是在運行期打開和檢查.class文件。「
但是同樣的,反射也需要載入這個類的Class對象,所以那個類的class對象對於jvm必須是可取的的,比如在本地機器上,或者通過網路取得,比如取得一串位元組串。
具體的內容可以參考《Thinking
in
java》的」類型識別「那一章,講的比較詳細的

3. JAVA中有哪些東東是編譯期運行和運行期運行的

我的理解是:編譯器運行的東東是代碼是否否何規范,類似於你寫個void寫錯了寫成vod這時編譯器就會報錯提醒你;
而運行期運行的就是代碼的邏輯關系了,比如說你使用一個數組,未對他進行初始化分配空間,運行時就會出現空指針異常。
理解的較淺,不知能否幫到你。

4. 請問java中的編譯期和運行期有什麼區別

編譯期和運行期進行的操作是不相同的,編譯器只是進行語法的分析,分析出來的錯誤也只是語法上的錯誤,而運行期在真正在分配內存··
比如說你寫一個while循環,一直往棧里寫,編譯器是不會出錯的,可是運行期就會出現棧滿的錯誤··

5. java中是什麼時候分配內存編譯期還是運行期

這肯定是運行期
編譯的時候,跟內存都沒關系,完全是java代碼轉成位元組碼的過程,你寫的代碼沒有任何計算、運行,所以根本談不上內存的分配。

6. Java中類載入出現在哪個階段,編譯期和運行期 類載入和類裝載是一樣的嗎

使用的類,編譯/運行時都會被載入。

載入/裝載沒有區別,翻譯的詞彙選擇因人而異了

運行 javac /java 時 加上 -verbose 選項就可以看到了。

7. java編譯和運行。

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

8. 請高手解釋下java編譯期錯誤與運行期錯誤

編譯錯誤就是編譯時候報的錯,你寫的java程序總不能馬上就跑,先要編譯成class吧,如果我寫的程序是「我是大笨蛋」,那當然是不符合語法的,於是編譯器會報錯。如果我寫的語法是正確的,那麼編譯器就會把他轉換成適當的class文件,然後你就可以運行了,運行中再出錯就是運行錯誤了。

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

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

10. Java之運行時異常與編譯時異常區別

Java中用2種方法處理異常:

1.在發生異常的地方直接處理;

2.將異常拋給調用者,讓調用者處理。

Java常見的異常:

(1)編譯時異常:Java.lang.Exception

(2)運行期異常:Java.lang.RuntimeException

Java.lang.Exception和Java.lang.Error繼承自Java.lang.Throwable;

Java.lang.RuntimeException繼承自Java.lang.Exception.

編譯時異常: 程序正確,但因為外在的環境條件不滿足引發。例如:用戶錯誤及I/O問題----程序試圖打開一個並不存在的遠程Socket埠。這不是程序本身的邏輯錯誤,而很可能是遠程機器名字錯誤(用戶拼寫錯誤)。對商用軟體系統,程序開發者必須考慮並處理這個問題。Java編譯器強制要求處理這類異常,如果不捕獲這類異常,程序將不能被編譯。

運行期異常: 這意味著程序存在bug,如數組越界,0被除,入參不滿足規范.....這類異常需要更改程序來避免,Java編譯器強制要求處理這類異常。

閱讀全文

與編譯期和運行期的區別java相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:570
python員工信息登記表 瀏覽:371
高中美術pdf 瀏覽:153
java實現排列 瀏覽:508
javavector的用法 瀏覽:976
osi實現加密的三層 瀏覽:226
大眾寶來原廠中控如何安裝app 瀏覽:906
linux內核根文件系統 瀏覽:235
3d的命令面板不見了 瀏覽:520
武漢理工大學伺服器ip地址 瀏覽:141
亞馬遜雲伺服器登錄 瀏覽:517
安卓手機如何進行文件處理 瀏覽:65
mysql執行系統命令 瀏覽:923
php支持curlhttps 瀏覽:139
新預演算法責任 瀏覽:439
伺服器如何處理5萬人同時在線 瀏覽:244
哈夫曼編碼數據壓縮 瀏覽:419
鎖定伺服器是什麼意思 瀏覽:380
場景檢測演算法 瀏覽:613
解壓手機軟體觸屏 瀏覽:343