您好,歡迎來(lái)到賦能網(wǎng)!

java沒有錯(cuò)誤但運(yùn)行不出來(lái)怎么回事?java如何執(zhí)行?

賦能網(wǎng) 2023-05-09 92

java程序?qū)懞弥?,程序員就要將其進(jìn)行運(yùn)行,以確保程序的正確性,但是在檢測(cè)時(shí)候發(fā)現(xiàn)java沒有錯(cuò)誤但運(yùn)行不出來(lái),這是什么原因?下面來(lái)我們就來(lái)給大家講解一下。

可能.java文件不在項(xiàng)目的src路徑內(nèi),即源代碼未被eclipse編譯。 右擊項(xiàng)目名--> Builder Path --> Configure Build Path --> 選擇Source,再點(diǎn)Add Folder, 把源代碼所在包的上層目錄添加進(jìn)去。

新建項(xiàng)目的時(shí)候勾選了“Java Settings下的Allow output folders for source folders”。新建項(xiàng)目取消勾選。這個(gè)選項(xiàng)在填完項(xiàng)目名的下一步。一般新建項(xiàng)目就沒問(wèn)題了。

java如何執(zhí)行?

先把 Java 代碼編譯成字節(jié)碼,也就是把 .java 類型的文件編譯成 .class 類型的文件。這個(gè)過(guò)程的大致執(zhí)行流程:Java 源代碼 -> 詞法分析器 -> 語(yǔ)法分析器 -> 語(yǔ)義分析器 -> 字節(jié)碼生成器 -> 最終生成字節(jié)碼,其中任何一個(gè)節(jié)點(diǎn)執(zhí)行失敗就會(huì)造成編譯失敗;

把 class 文件放置到 Java 虛擬機(jī),這個(gè)虛擬機(jī)通常指的是 Oracle 官方自帶的 Hotspot JVM,Java 虛擬機(jī)使用類加載器(Class Loader)裝載 class 文件;

類加載完成之后,會(huì)進(jìn)行字節(jié)碼校驗(yàn),字節(jié)碼校驗(yàn)通過(guò)之后 JVM 解釋器會(huì)把字節(jié)碼翻譯成機(jī)器碼交由操作系統(tǒng)執(zhí)行。但不是所有代碼都是解釋執(zhí)行的,JVM 對(duì)此做了優(yōu)化,比如,以 Hotspot 虛擬機(jī)來(lái)說(shuō),它本身提供了 JIT(Just In Time)也就是我們通常所說(shuō)的動(dòng)態(tài)編譯器,它能夠在運(yùn)行時(shí)將熱點(diǎn)代碼編譯為機(jī)器碼,這個(gè)時(shí)候字節(jié)碼就變成了編譯執(zhí)行。

Java 程序執(zhí)行流程圖如下:

其實(shí)不論是在開發(fā)工具中運(yùn)行還是在 Tomcat 中運(yùn)行,Java 程序的執(zhí)行流程基本都是相同的,所以大家只要知道執(zhí)行流程并會(huì)執(zhí)行就可以了!最后大家如果想要了解更多java初識(shí)知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java沒有錯(cuò)誤但運(yùn)行不出來(lái)怎么回事?java如何執(zhí)行?”已幫助 92 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: