導航:首頁 > 源碼編譯 > java位元組碼轉源碼

java位元組碼轉源碼

發布時間:2022-08-23 21:50:34

A. java編譯可以將位元組碼文件到java源文件嗎

可以啊,問題是目前的反編譯都無法100%還原源碼,尤其是注釋,在編譯階段是被javac直接忽略掉的,可是一個復雜的系統離開注釋是很難通過閱讀源碼去理解的,反編譯幫助不大

B. java編譯器會將java源代碼轉換為位元組碼.對嗎

是的,先把java文件編譯成電腦能讀懂的class文件,然後電腦才能運行

C. Java里的位元組碼和源代碼分別啥意思,和起到什麼左右

/*java是一門高級編程語言,是用來寫程序代碼的。
用java寫的文本(字元串序列)就是源代碼。
計算機不能直接執行源代碼,必須用一個叫編譯器的程序(javac.exe)將源代碼
翻譯成位元組碼,然後讓一個叫解釋器的程序(java.exe)去執行位元組碼,即運行程序。

下面的就是一個小程序的源代碼,功能是輸出九九乘法表。

下圖中的Test.class就是這個源代碼文件翻譯後的由位元組碼組成的文件。
而最下面的那個黑框就是程序執行後的結果。
java Test就是在執行Test.class位元組碼文件,即運行這個程序。
*/
//這下面的就是源代碼
public class Test {
public static void main(String[] args) {
int i,j;

for(i=1;i<=9;i++) {
for(j=1;j<=i;j++)
System.out.printf("%dx%d=%-4d",j,i,j*i);
System.out.println();
}
}
}

D. Java源程序如何變成Java位元組碼

編譯器默認都會將java文件變成位元組碼讓電腦看的懂

手動的話就用cmd javac xxxx.java 編譯

E. java程序編譯後的位元組碼是怎麼轉換的

java編譯後的是位元組碼。 位元組碼,為java源代碼編譯完成後,由JVM轉換成的文件,可以在任何裝有JVM的系統上,轉化相應的機器語言。 機器碼:即機器語言,表示的就是運行位元組碼文件後的二進制序列。

F. 大理電腦培訓學校告訴你位元組碼指令的編譯與執行

java編程開發是目前市場上使用范圍非常廣泛的一種編程開發語言。今天我們就一起來了解一下,在java編程中關於位元組碼的一些指令的編譯與執行方法。



java文件編譯後的class文件,java跨平台的中間層,JVM通過對位元組碼的解釋執行(執行模式,還有JIT編譯執行,下面講解),屏蔽對操作系統的依賴。一個位元組(8位)可以儲存256中不同的指令,這樣的指令就是位元組碼,java所有指令有200個左右,這些指令組成了位元組碼文件(.class)。


一、位元組碼的主要指令:


.class文件裡面的十六進制文件,其中CAFEBABE是標志這個文件為java的編譯後的文件,00000034代表版本號,01670700一個位元組(8位)就是一個位元組指令,由於數值指令太難看懂,我們可以用javap將指令翻譯為助記指令。


1、載入或儲存指令


在棧幀中,通過指令操作數據在局部變數表與操作棧間傳遞。


ILOAD、ALOAD:將int、對象引用類型從局部變數表壓入操作棧頂;


ISTORE、ASTORE:將int、對象引用類型從操作棧頂儲存到局部變數表裡;


ICONST、BIPUSH、SIPUSH、LDC:將常亮載入到操作棧頂。


2、運算指令


對操作棧上的值進行運算,並把結果寫入操作棧頂,如IADD、IMUL。


3、類型轉換指令


I2L、D2F


4、對象創建與訪問指令


NEW


除了位元組碼指令外,大理電腦培訓http://www.kmbdqn.cn/認為還包括像LINENUMBER儲存位元組碼與源碼對應,方便調試定位;LOCALVARIABLE儲存當前方法使用到的局部表量表。


二、java源碼文件轉化為位元組碼(.class)文件的過程


JAVA源文件---------->詞法解析---------->語法解析---------->語義分析--------->生成位元組碼--------->位元組碼文件


詞法分析:根據空格分割出單詞、操作符等,形成token信息流;


語法分析:根據token流和java語法規范生成語法樹;


語義分析:檢查關鍵字、類型匹配是否正確;


G. 為什麼java要編譯成位元組碼解釋執行而不是直接解釋執行源碼

為了跨平台
編譯成的位元組流文件.class,與硬體和操作系統無關,這是跨平台基礎,然後具體執行,再用各自平台解釋器,解釋成本地機器碼
更多交流,進我空間
------------------------------------------
java是一種編譯+解釋的語言,編譯的結果本身保證了代碼安全和版權,如果全部解釋源代碼,象早期的ASP,那JAVA就不敢用於銀行、證劵等安全性較高的場合

H. 有什麼方法可以將.class位元組碼文件轉換成.java源文件

有很多反編譯軟體,jad 反編譯工具,小穎JAVA源代碼反編譯,djdeveloper等等,不過djdeveloper不時免費的,在網上搜索很多有破解辦的。

I. 如何把JAVA源代碼轉化為位元組碼

源代碼文件:.java
編譯後成為位元組碼文件:.class
.class文件可以通過jvm將位元組碼解釋成機器指令

J. java 位元組碼 機器碼 char

char即字元類型,表示的是基於ASCII碼的字元,
位元組碼,為java源代碼編譯完成後,由JVM轉換成的文件,可以在任何裝有JVM的系統上,轉化相應的機器語言
機器碼:即機器語言,表示的就是運行位元組碼文件後的二進制序列
位元組:即java中的byte類型,用於存放一個位元組

閱讀全文

與java位元組碼轉源碼相關的資料

熱點內容
新科源碼 瀏覽:659
如何判斷伺服器有沒有帶寬 瀏覽:41
天正建築批量刪除命令 瀏覽:94
cad最下面的一排命令都什麼意思 瀏覽:456
pythonimportcpp 瀏覽:850
W10的系統怎麼給U盤加密 瀏覽:370
華為手機代碼編程教學入門 瀏覽:762
和彩雲沒會員怎樣解壓 瀏覽:634
androidimageview保存 瀏覽:387
新買店鋪什麼伺服器 瀏覽:883
文件夾能直接刻錄嗎 瀏覽:493
androidxmpp刪除好友 瀏覽:969
javac哪個前景好 瀏覽:428
中華英才網app為什麼不能搜索了 瀏覽:660
伺服器域名是什麼意思 瀏覽:52
Linux導出mysql命令 瀏覽:159
無詐建鄴是什麼app 瀏覽:228
python中的雙色球 瀏覽:168
python解釋器里如何換行 瀏覽:413
python編寫格式 瀏覽:577