首頁 > Java > java教程 > 主體

Java的編譯時錯誤和執行時間錯誤問題怎麼解決

王林
發布: 2023-04-28 08:19:06
轉載
1491 人瀏覽過

Java編譯時錯誤與執行時錯誤

1. 要區分編譯時錯誤和執行時錯誤,就應該先明白什麼是編譯?什麼是運行?

首先,先看一下這張圖:

Java的編譯時錯誤和執行時間錯誤問題怎麼解決

#編譯期就是將我們寫的java原始碼交給編譯器執行的過程,起翻譯的作用,該過程主要對java源代碼的語法進行檢查,如果沒有語法錯誤,就將源代碼編譯成字節碼文件(即.class文件);

運行期則是將字節碼檔案(.class檔案)載入到記憶體中交給java虛擬機器執行,直到程式執行結束的過程,該過程主要對程式的邏輯錯誤進行檢查,如果沒有邏輯錯誤,程式的功能實現,輸出結果。 

2. 編譯期與運行期的記憶體分配差異

①編譯期只是在程式的字節碼檔案中產生一些控製程式運行時分配記憶體的指令,僅僅是知道記憶體分配的大小以及存放的位置,不做具體的分配操作

②運行期才是記憶體真正的分配,決定程式分配記憶體的大小,以及這些變數該存放記憶體的位置 。 

3. 在eclipse開發java專案時,怎麼區分編譯錯誤和執行錯誤?

①編譯錯誤一般指語法錯誤或很明顯的邏輯錯誤。

如:缺少分號,少寫括號,關鍵字書寫錯誤等, 在eclipse往往會畫紅線。

②運行錯誤是在沒有編譯錯誤的基礎上執行後產生的邏輯錯誤。

如:空指標異常,除數為0,越界存取等,一般會拋出例外。

4.範例

下面程序,編輯運行,結果為()

public class Test{
           public void main(String[] args){
                      System.out.println("Hello world");
                      }
              }
登入後複製

結果:編譯無錯誤,但運行時產生異常。

編譯錯誤和運行錯誤的區別

編譯期

在程式的字節碼檔案中產生一些控製程式運行時分配記憶體的指令, 只是知道內存分配的大小以及存放的位置, 不做具體的分配操作

運行期

是對記憶體的真正的分配, 確定程式分配記憶體的大小, 以及這些變數該存放記憶體的位置

常見的錯誤

編譯錯誤一般指語法錯誤或很明顯的邏輯錯誤, 如: 缺少分號, 少寫括號, 關鍵字書寫錯誤等

執行錯誤是在沒有編譯錯誤的基礎上執行後產生的邏輯錯誤, 如: 空指標異常, 除數為0 , 越界存取等 

以上是Java的編譯時錯誤和執行時間錯誤問題怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!