導航:首頁 > 源碼編譯 > java編譯混淆出錯

java編譯混淆出錯

發布時間:2022-07-02 03:51:39

java語言中什麼叫做編譯錯誤

就是你用javac命令將源代碼(.java)文件翻譯成位元組碼(.class)文件時產生的錯誤。
比如,變數名不符合規定,變數沒定義,關鍵字拼寫錯誤等等。。。
java的編譯器(javac)會根據java語法規定做一些檢查,不符合規定的就不通過編譯。

編譯錯誤,是相對於運行時錯誤而言的。
運行時錯誤,是你用java命令運行時會出現的錯誤,一般會拋出異常。

② 編譯java文件出錯

說明當前的java文件中有錯誤的代碼,導致無法編譯。

解釋:java的編譯過程中,java代碼必須是完全正確的,不能有紅色」×「錯誤,否則是無法正常編譯的。

備註:可以將滑鼠放到紅叉上,看看具體的錯誤,之後針對問題進行解決即可,不報錯之後再進行編譯。

③ 請教:怎麼看懂並處理java編譯錯誤

告訴你一個常見且最簡單的新手解決方案,就是 從上而下的看打出的日誌,找到第一個 是你自己所創建的文件路徑 比如 com.you.test 的類報
的錯,點擊後面的連接就可以定位到錯誤發生的位置,在根據開頭報的錯誤。加入報 null point空指針異常,則是你定位錯誤的位置發生了空指針。那
你給它初始化就解決了。 不知道你明白了不

④ java 編譯時出錯。哪位高手可否告知原因

代碼最好貼出來。
上面一個錯誤是因為你保存的文件名是String.java,而你的類StringDemo確實public的,如果這個文件里的主方法在String類中,就把StringDemo的前的public修飾符去掉。如果主方法在StringDemo中,就改文件名。總之文件名要和公有類名一致,一個文件中只能有一個公有類。

下面一個錯誤是因為你自己又定義了一個String類,這樣的話你StaticDemo中主函數使用的是當前包中的String類。改成public static void main(System.String args[])可以解決。但是最好不要使用系統已經定義過的類名

⑤ Java編譯出錯 這是什麼意思

第一你的類名沒有錯,因為除了ClassNotFoundException外還有其他main方法內的異常
第二,你有可能是沒有在CMD形式下運行時倒外部包
一些程序需要倒非JDK內包的jar,在CMD執行時,靠簡單的javac name.java是不行的
強烈建議使用專業的編譯IDE,CMD不智能,在真正的開發中,只適合編譯無main類,及打jar等

⑥ java 程序編譯出錯

public class Person{

private String name;
private String idNo;
private boolean sex;
private Address adr;

public Person(){}

public Person(String newName,String newIdNo,boolean newSex,Address newAdr){
name=newName;
idNo=newIdNo;
sex=newSex;
adr=newAdr;
}

public Person(String newName,String newIdNo,boolean newSex,String newState,String newCity,String newStreet,String newNo){
name=newName;
idNo=newIdNo;
sex=newSex;
adr=new Address(newState,newCity,newStreet,newNo);
}

private String getName(){
return name;
}

private String getIdNo(){
return idNo;
}
private boolean getSex(){
return sex;
}
private Address getAdr(){
return adr;
}
private void setName(String newName){
name=newName;
}
private void setIdNo(String newIdNo){
idNo=newIdNo;
}
private void setSex(boolean newSex){
sex=newSex;
}
private void setAdr(Address newAdr){
adr=newAdr;
}
public String toString(){
return name+";"+idNo+";"+sex+":";
}

public static void main(String[] args) {
Address adr1=new Address("浙江","杭州","學林街","985");
Person p1=new Person("張三","200920102001",true,adr1);
Address adr2=new Address("浙江","杭州","學林街","121");
Person p2=new Person("李四","200920102002",true,adr2);
System.out.println ("張三信息:姓名:"+p1.getName()+";學號:"+p1.getIdNo()+";性別:"+p1.getSex());
System.out.println ("李四信息:姓名:"+p2.getName()+";學號:"+p2.getIdNo()+";性別:"+p2.getSex());
System.out.println (p1.toString()+p1.adr.toString());
}
}

class Address{

private String newState;
private String newCity;
private String newStreet;
private String newNo;

public Address(){}

public Address(String newState,String newCity,String newStreet,String newNo){
this.newState = newState;
this.newCity = newCity;
this.newStreet = newStreet;
this.newNo = newNo;
}
}

⑦ 我使用CLASS反匯編生成的JAVA文件重新進行編譯生成JAVA文件提示出錯是為什麼呢

並不是所有的class都能反匯編成java文件的,尤其是那些經過obfuscation(代碼混淆)的class文件,混淆器故意生成很難或者根本不可能被反匯編的程序。比如class文件中可以用java關鍵詞作名字的變數,反匯編出來的當然就不行了,這只是混淆技術之一,有些混淆技術相當難破。

另外,反匯編出來的程序質量跟反匯編程序也很有關系,jd-gui不錯,但也不是通吃的。

⑧ 在用java編寫的時候,常出錯的地方在哪裡如何解決呢

1. java.lang.nullpointerexception
這個異常大家肯定都經常遇到,異常的解釋是"程序遇上了空指針",簡單地說就是調用了未經初始化的對象或者是不存在的對象,這個錯誤經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。對數組操作中出現空指針,很多情況下是一些剛開始學習編程的朋友常犯的錯誤,即把數組的初始化和數組元素的初始化混淆起來了。數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化,依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)

2. java.lang.classnotfoundexception
這個異常是很多原本在jb等開發環境中開發的程序員,把jb下的程序包放在wtk下編譯經常出現的問題,異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可,如果是在jb下做的程序包,一般都是默認加上package的,所以轉到wtk下後要注意把package的路徑加上。

3. java.lang.arithmeticexception
這個異常的解釋是"數學運算異常",比如程序中出現了除以零這樣的運算就會出這樣的異常,對這種異常,大家就要好好檢查一下自己程序中涉及到數學運算的地方,公式是不是有不妥了。

4. java.lang.
這個異常相信很多朋友也經常遇到過,異常的解釋是"數組下標越界",現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了,還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看一下數組的length,以免出現這個異常。

5. java.lang.illegalargumentexception
這個異常的解釋是"方法的參數錯誤",很多j2me的類庫中的方法在一些情況下都會引發這樣的錯誤,比如音量調節方法中的音量參數如果寫成負數就會出現這個異常,再比如g.setcolor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法調用中的參數傳遞是不是出現了錯誤。

6. java.lang.illegalaccessexception
這個異常的解釋是"沒有訪問許可權",當應用程序要調用一個類,但當前的方法即沒有對該類的訪問許可權便會出現這個異常。對程序中用了package的情況下要注意這個異常。

⑨ 編譯JAVA文件出現這種情況錯誤有哪些原因

你看你那個HelloWord文件後綴名是txt,還不是個java文件,你在電腦里找到這個文件把後綴.txt去掉,變成HelloWord.java文件,再編譯就沒問題了

⑩ java編譯出錯

由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding參數指定我們的JAVA源程序的編碼格式,則javac.exe首先獲得我們操作系統默認採用的編碼格式。

在編譯java程序時,若我們不指定源程序文件的編碼格式

對我們來說,我們最終獲得的.class文件是內容以UNICODE編碼格式保存的類文件,它內部包含我們源程序中的中文字元串,只不過此時它己經由file.encoding格式轉化為UNICODE格式了。當我們不加設置就編譯時,相當於使用了參數:javac -encoding gbk xx.java,當然就會出現不兼容的情況。

解決方法

1.使用-encoding 指定字元集

javac -encoding utf-8 xx.java

2.把源文件編碼修改成ASCII

閱讀全文

與java編譯混淆出錯相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251
哈夫曼編碼數據壓縮 瀏覽:428
鎖定伺服器是什麼意思 瀏覽:385
場景檢測演算法 瀏覽:617
解壓手機軟體觸屏 瀏覽:352