javac
是java語言編程編譯器。javac工具讀由java語言編寫的類和介面的定義,並將它們編譯成位元組代碼的class文件。javac
可以隱式編譯一些沒有在命令行中提及的源文件
⑵ java程序編譯後的位元組碼是怎麼轉換的
java編譯後的是位元組碼。 位元組碼,為java源代碼編譯完成後,由JVM轉換成的文件,可以在任何裝有JVM的系統上,轉化相應的機器語言。 機器碼:即機器語言,表示的就是運行位元組碼文件後的二進制序列。
⑶ 為什麼一個Java文件編譯後可以獲得多個位元組碼文件
public class A {
public static void main(String[] args) {
int i=1;
System.out.println(i);
}
}
class B {
public static void main(String[] args) {
int i=2;
System.out.println(i);
}
}
這樣編譯之後就是兩個位元組碼文件,同一個java文件中,只能有一個被public修飾的類,且這個類的類名就是java文件的名稱(上述例子文件為 A.java ),沒有被public修飾的類,編譯之後會生成類名.javac的文件,有幾個類就會生成幾個對應的javac文件,有點兒長,希望你能看明白,手打望採納
⑷ JD_GUI反編譯後為什麼會得到位元組碼
應該是你反編譯的時候失敗了,jd-gui反編譯的class文件,其實也好閱讀
⑸ java編譯器將源程序編譯生成的位元組碼是什麼
位元組是電腦里的數據量單位
位元組碼(Byte-code)是一種包含執行程序、由一序列 op 代碼/數據對組成的二進制文件。位元組碼是一種中間碼,它比機器碼更抽象。它經常被看作是包含一個執行程序的二進制文件,更像一個對象模型。位元組碼被這樣叫因為通常每個 opcode 是一位元組長,但是指令碼的長度是變化的。每個指令有從 0 到 255(或十六進制的: 00 到FF)的一位元組操作碼,被參數例如寄存器或內存地址跟隨。
在計算機中,數據只用0和1兩種表現形式,(這里只表示一個數據點,不是數字),一個0或者1佔一個「位」,而系統中規定8個位為一個位元組,用來表示常用的256個字母、符號、控制標記,其中用一個位來進行數據校驗,其他七個位用來記錄數據。
按計算機中的規定,一個英文的字元用一個位元組,(如,."':;avcAVC都佔用一個位元組),而一個漢字以及漢字的標點符號、字元都佔用兩個位元組,(如,。「」:;AVCavc他們就得佔用兩個位元組)。
另外,他們是沒有辦法比較的,只能講一個字元佔用一個位元組,N個字元佔用N個位元組。
K是千 M是兆 G是吉咖 T是太拉 8bit(位)=1Byte(位元組) 1024Byte(位元組)=1KB 1024KB=1MB 1024MB=1GB 1024GB=1TB
java中,位元組碼是CPU構架(JVM)的具有可移植性的機器語言