㈠ java中位元組碼文件是什麼哪個什麼意思
就是.class文件,.java文件編譯後就會生成.class文件(即位元組碼文件),然後編譯器載入這個位元組碼文件,類載入器按類名載入文件中的類,執行入口main方法。
㈡ 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();
}
}
}
㈢ java位元組碼文件到底是什麼東西,求教JAVA高手
java位元組碼是javac編譯後產生的,當下次你再運行這個程序時,java虛擬機就直接執行位元組碼,不再調用java代碼。
㈣ java程序編譯後會產生位元組碼還是機器碼
Java編譯後是位元組碼,C/C++以前全都是是機器碼。
電腦只能運行機器碼。Java在運行的時候把位元組碼變成機器碼。
C/C++在編譯的時候直接編譯成機器碼。
不過現在微軟的Visual Studio C++ 2005以後的C++也可以編譯成位元組碼,用CLR運行是轉換成機器碼(和Java差不多)。
㈤ java位元組碼bipush什麼意思
當int取值-128~127時,JVM採用bipush指令將常量壓入棧中。
定義Test.java文件
1 public static void main(String[] args) {
2 int i = 127;
3 }
查看class文件
1 public static void main(java.lang.String[]);
2 Code:
3 0: bipush 127
4 2: istore_1
5 3: return
6 }
㈥ java位元組碼什麼時候被翻譯
位元組碼被翻譯成機器碼是在程序運行前的。你可以這樣做來檢驗:編輯一段代碼,保存後查看位元組碼文件的內容量,再編輯一段代碼,保存後再去查看位元組碼文件的內容量,發現有所改變,從而證明位元組碼文件是程序運行前。深的我也不懂,希望對你有所幫助
㈦ java位元組碼加強是什麼意思,加強有什麼好處。
位元組碼是Java程序的中間表示,好處如下:
在調試,優化性能和調節內存分配時,這項知識是至關重要的。
了解編譯器寫的代碼生成的匯編指令,有助於認識到如何以不同的編碼實現內存或性能目標。
此外,當跟蹤一個問題的時候,使用調試器(debugger)對源碼反匯編,然後對正在執行的匯編代碼進行單步調試是有益的。
採用位元組碼,就可以克服不同平台之間編譯器的區別,統一使用虛擬的位元組碼就行編譯運行。
㈧ java如何生成位元組碼文件
java生成位元組碼文件全過程:
Java 源碼編譯由以下三個過程組成:
1、分析和輸入到符號表
2、註解處理
3、語義分析和生成class文件
流程圖如下所示:
最後生成的class文件由以下部分組成:
結構信息。包括class文件格式版本號及各部分的數量與大小的信息
元數據。對應於Java源碼中聲明與常量的信息。包含類/繼承的超類/實現的介面的聲明信息、域與方法聲明信息和常量池
方法信息。對應Java源碼中語句和表達式對應的信息。包含位元組碼、異常處理器表、求值棧與局部變數區大小、求值棧的類型記錄、調試符號信息
㈨ Java的Class位元組碼文件是二進制的嗎
Java的Class文件是有8個位元組為基礎的位元組流構成的,這些位元組流之間都嚴格按照規定的順序排列,並且位元組之間不存在任何空隙,對於超過8個位元組的數據,將按
照Big-Endian的順序存儲的,也就是說高位位元組存儲在低的地址上面,而低位位元組存儲到高地址上面,其實這也是class文件要跨平台的關鍵,因為
PowerPC架構的處理採用Big-Endian的存儲順序,而x86系列的處理器則採用Little-Endian的存儲順序,因此為了Class文
件在各中處理器架構下保持統一的存儲順序,虛擬機規范必須對起進行統一。
這些能被機器直接識別的就是二進制。