導航:首頁 > 源碼編譯 > java的編譯看不懂啊

java的編譯看不懂啊

發布時間:2023-04-11 08:12:17

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

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

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

⑵ java代碼看不懂怎麼辦

看代碼前需要先了解那塊代碼是做什麼的,這樣才能跟得上代碼邏輯。如果知道代碼功能,還是不懂的話,那麼看代碼行數。
1、低於20行的代碼看不懂,你需要鞏固java基礎
2、超過20行的話,需要仔細理解代碼意圖,另外需要了解更多的java API以及開源代碼
一般看別人的代碼是很痛苦的,java高手也有看不懂的時候,譬如代碼本身就寫的爛,邏輯不明確。

⑶ 一個java程序編譯錯誤提示,看不太懂,求解!

StaticA的對象A創建在內存中,而A僅是一個字元A而已,它指向內存中真正創建的對象。比方說:一個卡片上寫著「JAVA編程思想」,這個卡片上慎唯有根線,連在一本名字叫做《JAVA編程思想》的書上。那麼卡片上寫的僅僅是個字元而已,不是真正的書。但是可以通過卡片找到書。這里卡片就像你代碼里的A,但是A並不是真正的對象,它是一個符號,指向內存中真正的對象。你代碼里的符號A和B,沒定義就用,編譯器不知道這兩個符號從哪裡來的,表示什麼。
那麼現在如果說,讓你將class StaticDemo類中的StaticA A=new StaticA();該為StaticA a=new StaticA();而class StaticA類不去改動,你想想class StaticA中的列印語句中,A表示什麼呢?B又表示什麼呢?

對於System.out.println("a="+A.a+",b="+B.b);編譯器解釋到A.a和廳或B.b的時候,它就要先找到A,確定了A以後,再解釋出A.a,可是在class StaticA中他都不知道A是個什麼東西,在class StaticA中A沒有定義,內存中也就沒有對象。所以編譯器說找不到符號扮孝伍。

⑷ java語言編譯和解釋執行的具體過程是怎樣的

Java中引入了虛擬機的概念,即在機器和編譯程序之間加入了一層抽象的虛擬的機器。這台虛擬的機器在任何平台上都提供給編譯程序一個的共同的介面。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然後由解釋器來將虛擬機代碼轉換為特定系統的機器碼執行。在Java中,這種供虛擬機理解的代碼叫做位元組碼(ByteCode),它不面向任何特定的處理器,只面向虛擬機。每一種平台的解釋器是不同的,但是實現的虛擬機是相同的。Java源程序經過編譯器編譯後變成位元組碼,位元組碼由虛擬機解釋執行,虛擬機將每一條要執行的位元組碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然後在特定的機器上運行。

⑸ java編譯時候通過,運行時候出現一些我看不懂的異常

java.util.NoSuchElementException(元素不存在異常)

估計是你的SearchBus.java文虧告坦件中初始化列表時候,元素銷桐可能不存在。看看你初始化的數據是友沒否成功。

⑹ JAVA編譯不出來 大神來幫我看看什麼情況

提示很明確了,找不到文件,你再確認一下文件的路徑。脊凳

有一個快捷方式,在你的java文件的目錄下,按著shift然後滑鼠右鍵有一個在此處打開命令窗口,你試一下。

然後你的代碼有枯吵一個櫻敗旅問題,

System.out.println(a);

out 和 print之間少了一個點

⑺ 自己用java寫了個楊輝三角 編譯後的確是楊輝三角 但自己卻又看不懂了 大神分析下

public class IrregularArray {
public static void main(String[] args)
{
//新建數組,表示行和列源耐
int a[][]=new int[8][8];
//遍歷行
for(int i=0;i<a.length;i++){
//初始為1
a[0][0]=1;
//遍歷列
for(int j=1;j<=i;j++){
//凳睜第i行j列的值等於i-1行的j-1和i-1行和j列的值得和
a[i][j]=a[i-1][j-1]+a[i-1][j];
//打棗裂歲印出來
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
}
}

⑻ 我剛學Java 這個&&編譯的時候為什麼顯示不是語句 懵逼 搞不懂 求解答 QWQ

根據你的圖片,上面寫著 a>3 && a<6;

看來,你是把這句話單獨放在一行使用了,因為後面緊跟著分號。

這種算數表達式或者布爾表達式只有在C和C++里可以單獨成行,早友頌java中必須配合if, while, assert 等使用。如:

if(a>3&&a<6)
System.out.println(a+":BETWEEN3AND6WITHOPENINTERVAL"陸鄭告殲);

⑼ java中的編譯與反編譯

一、什麼是編譯



1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。


2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。


二、什麼是反編譯


計算機軟體反向工程(Reverseengineering)也稱為計算機軟體還原工亂陸程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。


三、Java類的編譯與反編譯


我們在最宴陪岩初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。


class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後晌御被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。


那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)


四、什麼時候會用到反編譯


1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼霍營java培訓認為可以把它反編譯成我們可以看得懂的文件。


2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。


⑽ 在java中,程序編譯通過,卻輸出看不懂的亂七八雜玩意

java -version和javac - version一下,
看下兩個版本是否不一致

閱讀全文

與java的編譯看不懂啊相關的資料

熱點內容
android平滑滾動效果 瀏覽:841
什麼是編譯器指令 瀏覽:219
微控制器邏輯命令使用什麼匯流排 瀏覽:885
程序員在學校里是學什麼的 瀏覽:601
oraclejava數據類型 瀏覽:890
程序員考注冊會計師 瀏覽:957
怎麼使用access的命令按鈕 瀏覽:899
有點錢app在哪裡下載 瀏覽:832
博途v15解壓後無法安裝 瀏覽:205
什麼是根伺服器主機 瀏覽:438
安卓手游怎麼申請退款 瀏覽:555
安卓系統如何分享網頁 瀏覽:278
ad如何編譯pcb工程 瀏覽:414
除了滴滴app哪裡還能用滴滴 瀏覽:399
截圖怎麼保存文件夾然後壓縮 瀏覽:8
幻影伺服器怎麼樣 瀏覽:28
具體哪些廣東公司招程序員 瀏覽:871
嵌入式編譯器教程 瀏覽:307
ssl數據加密傳輸 瀏覽:87
51單片機定時器方式2 瀏覽:332