A. java緙栬瘧鍚庣殑瀛楄妭鐮佹枃浠剁殑鎵╁睍鍚嶄負
Java緙栬瘧鍚庣殑瀛楄妭鐮佹枃浠剁殑鎵╁睍鍚嶄負class銆傝繖鏄鍥犱負Java婧愪唬鐮佸湪緙栬瘧鍚庝細琚杞鎹㈡垚Java鉶氭嫙鏈哄彲浠ョ悊瑙g殑瀛楄妭鐮侊紝鑰屽瓧鑺傜爜鏂囦歡鐨勬墿灞曞悕灝辨槸class錛孞ava瀛楄妭鐮佹槸涓縐嶄腑闂翠唬鐮侊紝鍙浠ュ湪涓嶅悓鐨勫鉤鍙頒笂榪愯岋紝鍥犱負Java鉶氭嫙鏈轟細灝嗗瓧鑺傜爜杞鎹㈡垚鏈鍦版満鍣ㄧ爜鎵ц岋紝Java瀛楄妭鐮佽繕鍏鋒湁璺ㄥ鉤鍙般佸畨鍏ㄦч珮銆佸彲縐繪嶆у己絳変紭鐐癸紝鍥犳よ騫挎硾搴旂敤浜嶫ava寮鍙戜腑銆侸ava瀛楄妭鐮佸彲浠ラ氳繃鍙嶇紪璇戝伐鍏峰皢鍏惰漿鎹㈡垚鍙璇葷殑Java婧愪唬鐮侊紝榪欏逛簬浠g爜瀹¤°佸︿範鍜岃皟璇曢兘闈炲父鏈夊府鍔┿
B. Java class位元組碼方法都是返回null
如果在 Java 類中,所有方法的位元組碼都返回 null,那麼這很可能是因為你的類沒有實洞衡肢現任何方法,或者所有方法都是抽象方法。
在 Java 中納世,抽象方法是指沒有方法體的方法。抽象方法只有聲明,而沒有攔者實現。抽象方法必須在抽象類中聲明,並且必須由子類實現。例如:
Copy code
public abstract class MyClass { public abstract void myMethod(); }
如果你的類實現了抽象方法,那麼可能是你的實現沒有返回任何值。例如:
Copy code
public class MyClass { public void myMethod() { // 沒有返回值 } }
如果你的類中的方法都是抽象方法或者沒有返回值,那麼在位元組碼中它們都將返回 null。
建議你檢查你的類定義,確保你的類是非抽象的,並且所有的方法都實現了返回值。
C. Java的Class位元組碼文件是二進制的嗎
Java的Class文件是有8個位元組為基礎的位元組流構成的,這些位元組流之間都嚴格按照規定的順序排列,並且位元組之間不存在任何空隙,對於超過8個位元組的數據,將按
照Big-Endian的順序存儲的,也就是說高位位元組存儲在低的地址上面,而低位位元組存儲到高地址上面,其實這也是class文件要跨平台的關鍵,因為
PowerPC架構的處理採用Big-Endian的存儲順序,而x86系列的處理器則採用Little-Endian的存儲順序,因此為了Class文
件在各中處理器架構下保持統一的存儲順序,虛擬機規范必須對起進行統一。
這些能被機器直接識別的就是二進制。