溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java的編譯時錯誤和運行時錯誤問題怎么解決

發(fā)布時間:2023-04-03 15:49:47 來源:億速云 閱讀:78 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“Java的編譯時錯誤和運行時錯誤問題怎么解決”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

Java編譯時錯誤和運行時錯誤

1. 要區(qū)分編譯時錯誤和運行時錯誤,就應(yīng)該先明白什么是編譯?什么是運行?

首先,先看一下這張圖:

Java的編譯時錯誤和運行時錯誤問題怎么解決

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

運行期則是將字節(jié)碼文件(.class文件)加載到內(nèi)存中交給java虛擬機執(zhí)行,直到程序執(zhí)行結(jié)束的過程,該過程主要對程序的邏輯錯誤進行檢查,如果沒有邏輯錯誤,程序的功能得到實現(xiàn),輸出結(jié)果。 

2. 編譯期和運行期的內(nèi)存分配區(qū)別。

①編譯期只是在程序的字節(jié)碼文件中產(chǎn)生一些控制程序運行時分配內(nèi)存的指令,僅僅是知道內(nèi)存分配的大小以及存放的位置,不做具體的分配操作。

②運行期才是對內(nèi)存真正的分配,確定程序分配內(nèi)存的大小,以及這些變量該存放內(nèi)存的位置。 

3. 在eclipse開發(fā)java項目時,怎么區(qū)分編譯錯誤和運行錯誤?

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

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

②運行錯誤是在沒有編譯錯誤的基礎(chǔ)上運行后產(chǎn)生的邏輯錯誤。

如:空指針異常,除數(shù)為0,越界訪問等,一般會拋出異常。 

4.例子

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

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

結(jié)果:編譯無錯誤,但運行時產(chǎn)生異常。

編譯錯誤和運行錯誤的區(qū)別

編譯期

在程序的字節(jié)碼文件中產(chǎn)生一些控制程序運行時分配內(nèi)存的指令, 僅僅是知道內(nèi)存分配的大小以及存放的位置, 不做具體的分配操作

運行期

是對內(nèi)存的真正的分配, 確定程序分配內(nèi)存的大小, 以及這些變量該存放內(nèi)存的位置

常見的錯誤

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

運行錯誤是在沒有編譯錯誤的基礎(chǔ)上運行后產(chǎn)生的邏輯錯誤, 如 : 空指針異常, 除數(shù)為0 , 越界訪問等 

“Java的編譯時錯誤和運行時錯誤問題怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI