真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

反編譯java代碼不一樣,java反編譯的文件編譯有錯誤

為什么將class反編譯為java后,java直接編譯時有錯誤

midlet不存在? 如果你用的是Eclipse那你在配置環(huán)境時有問題 沒關聯(lián)EclipseMe 和關聯(lián)WTK MIDletStateChangeException應該是有異常

成都做網(wǎng)站、網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設介紹好的網(wǎng)站是理念、設計和技術的結合。成都創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設計理念、多方位的設計風格、經(jīng)驗豐富的設計團隊。提供PC端+手機端網(wǎng)站建設,用營銷思維進行網(wǎng)站設計、采用先進技術開源代碼、注重用戶體驗與SEO基礎,將技術與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

反編譯的軟件一般都會使用如a b c之類的變量名 導致很多類的情況下容易重名導致變量混亂 最好改成自己習慣的變量名

至于環(huán)境變量的配置按這個來

右鍵點擊我的電腦---屬性---高級---環(huán)境變量---系統(tǒng)變量---新建

path: C:\j2sdk1.4.2_05\bin

classpath: .;C:\j2sdk1.4.2_05\lib\dt.jar;C:\j2sdk1.4.2_05\lib\tools.jar 確定

改了還不行的話把代碼貼出來看看 祝你走運~~~

什么是Java代碼的編譯與反編譯?

Java代碼的編譯與反編譯

2017-02-21Hollis數(shù)盟

一、什么是編譯

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

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

二、什么是反編譯

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

三、Java類的編譯與反編譯

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

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

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

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

1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那么我們可以把它反編譯成我們可以看得懂的文件。

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

五、反編譯工具

1、javap

2、Jad:官網(wǎng)(墻裂推薦)

客戶端:

可以在官網(wǎng)下載可執(zhí)行文件,找到對應的操作系統(tǒng)的對應版本,然后進行安裝使用。

因為我使用的是linux操作系統(tǒng),所以我下載的是Linux版本的工具,這個工具下載好之后會有一個執(zhí)行文件,只要在執(zhí)行文件所在目錄執(zhí)行./jadhelloworld.class就會在當前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼

Eclipse插件:

下載地址在官網(wǎng)下載插件的jar包,然后將jar包放到eclipse的plugins目錄下‘在打開Eclipse,Eclipse-Window-Preferences-Java,此時你會發(fā)現(xiàn)會比原來多了一個JadClipse的選項,單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時文件的目錄。當然在JadClipse下還有一些子選項,如Debug,Directives等,按照默認配置即可?;九渲猛戤吅螅覀兛梢圆榭匆幌耤lass文件的默認打開方式,Eclipse-Window-Preferences-General-Editors-FileAssociations我們可以看到class文件的打開方式有兩個,JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼

java反編譯的代碼可以用嗎

不行。可執(zhí)行文件你即使反編譯出來 也不是源碼。包括所有的反編譯軟件,反編譯出來的,都不是源碼,別看著反編譯出來的代碼感覺是對的,有的反編譯出來還是可以運行的都不算。另外反編譯別人的軟件 ,只能自己研究,去過用于商業(yè)用途可是犯法的哦

用JAVA反編譯器,把.class文件反編譯后會不會和原文件不同?

如果是簡單的JAVA代碼或者沒有經(jīng)過混淆編譯的代碼就會使一樣或者差不多的。

但是一下兩種情況就特別不一樣:

1.經(jīng)過混淆編譯的

2.使用內(nèi)部類的

另外,所有的注釋都是沒有的。

當然還有其他的一些情況下你會發(fā)現(xiàn)不一樣了,某些情況下循環(huán)的時候就會,而且變量申明的位置會改變等等。

當遇到老版本的java代碼與新代碼不一樣時怎么辦

1.驗證錯誤

有一種情況非常匪夷所思:即使你確定Java安裝正確,但仍然會報錯!如果出現(xiàn)這種情況,你可以通過驗證Java是否可以正常工作來排除這個錯誤,點擊這個頁面,就可以進行驗證。如果可以正常工作,那就說明沒有問題。

2.與舊版本沖突

如果Java安裝成功,但沒有正常工作,這個時候你需要查看Windows的控制面板,看看里面是否存在Java的控制版塊。如果沒有,問題往往是JavaFX與舊的Java代碼沖突導致的。

解決辦法是,在Windows控制面板中刪除所有的Java實例,然后清理Windows中遺留的Java代碼片段,重新安裝即可。

 

3.使用離線安裝

安裝Java,通常我們都會使用在線的方式,但這種方式往往都會出現(xiàn)一些稀奇古怪的問題。所以,我們不妨使用離線的安裝方式。在Java的官方網(wǎng)站上,你可以選擇適合自己系統(tǒng)的Java安裝包。

4.嘗試32位版本

相信很多使用64位版本系統(tǒng)的開發(fā)者,都會選擇適合這個系統(tǒng)版本的Java,看似這是個合理的選擇。但是,相比于64位版本,使用32位版本的Java好像影響也不是很大。所以,如果你安裝64位版本遇到麻煩了,這里建議你換成32位版本。

5.使用管理員權限安裝

如果你使用Windows 7或Windows 8系統(tǒng)安裝Java失敗時,你可以嘗試下使用管理員(administrator)權限進行安裝。首先,你需要下載好所需的Java的安裝包,然后右鍵點擊文件,選擇“以管理員身份運行”選項。

6.暫時禁用用戶賬戶控制

有開發(fā)者表示用戶賬戶控制功能可能會影響Java的安裝。如果你確實懷疑,你可以暫時禁用它。當然,不同的Windows版本關閉它的方式不一樣。

7.設置IE瀏覽器的安全性為默認級別

如果你的Internet Explorer的安全級別比默認要高,或者設置的是自定義的安全級別,那么很可能造成Java的安裝失敗。這時候你只要將其設置為默認級別即可。打開IE瀏覽器,進入“Internet選項”,這里面可以設置安全級別。

 

8.暫時禁用殺毒軟件自動掃描

有很多殺毒軟件都會阻止Java的正常安裝。這里建議你下載離線版本,然后使用殺毒軟件進行全盤掃描,確保自己系統(tǒng)沒有感染任何病毒。然后暫定它,再安裝Java。安裝完成之后,你就可以繼續(xù)使用殺毒軟件。

9.檢查用戶配置文件

據(jù)微軟表示,已經(jīng)被損壞的用戶配置文件很可能就是導致Java安裝失敗的罪魁禍首。這時候你可以創(chuàng)建一個新的用戶,并為該用戶分配本地的管理權限,然后登陸該賬戶,再進行Java的安裝。

10.使用系統(tǒng)配置工具

Java安裝失敗,往往與系統(tǒng)正在運行的其他軟件有關系,這時候你需要暫時禁止這些軟件的運行。最簡單的方法是,打開運行,輸入MSCONFIG,啟動Windows系統(tǒng)配置程序,這里你可以選擇要禁用的啟動項。

Java反編譯后得到的不是Java源代碼。

估計你得到的是java虛擬機指令,因為.class文件與java源代碼不是一一對應的,但與虛擬機指令卻是一一對應的,就像exe文件中的機器指令與匯編指令是一一對應的,要看懂這些代碼可以參考java虛擬機指令集


新聞標題:反編譯java代碼不一樣,java反編譯的文件編譯有錯誤
當前鏈接:http://weahome.cn/article/phjoeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部