java虛擬機規範學習筆記之數據類型

1.1 class文件格式java

編譯後被Java虛擬機所執行的代碼使用了一種平臺中立的二進制格式來表示,而且常常以文件的形式來存儲,這種格式稱爲class文件格式。class文件格式中精確的定義了類與接口的表示形式。數組

class文件是被java虛擬機所執行的代碼。spa

1.2 數據類型指針

原始數據類型:數值類型、boolean類型、returnAddress類型。code

數值類型:整數類型、浮點類型。對象

整數類型:byte8位有符號二進制補碼整數-128-2^7- 1272^7-1))、short16-32768-2^15- 327672^15 - 1))、int32-2^31 - 2^31-1)、long64-2^63 -2^63 - 1)、charchar類型是一個單一的 16 Unicode 字符,最小值是 \u0000(即爲0),最大值是65535char 數據類型能夠儲存任何字符)。接口

浮點類型:floatdouble,默認值都爲0虛擬機

boolean類型:truefalse,默認值爲false編譯

returnAddress類型:是指向某個操做碼(opcode)的指針,此操做碼與Java虛擬機指令相應,在虛擬機支持的全部原始類型中,只有returnAddress類型是不能直接與Java語言的數據類型相對應的。class

NaNNot-a-Number,非數字標識,用於標識某些無效的運算操做,如0除以0。除了NaN與自身比較是否等值時會獲得false,任何數和NaN比較的返回值都是true

Java語言表達式所操做的boolean值,在編譯以後都是用java虛擬機中的int數據類型來代替。true1表示,false0表示。

1.3 引用類型與值

引用類型:類類型(class type)、數組類型(array type)、接口類型(interface type)。

這些引用類型的值分別指向動態建立的類實例、數組實例和實現了某個接口的類實例或數組實例。

數組類型:最外面那一維元素的類型,叫作組件類型。一個數組的組件類型也能夠是數組,因此能夠不斷的取值,直到遇到的不是組件類型,這時這個類型就叫作元素類型。

元素類型:必須是基本類型、類類型或者接口類型之一。

引用類型還有一個值:null,當一個引用不指向任何對象的時候,它的值就用null來表示。一個爲null的引用類型,期初並不具有任何實際的運行期類型,可是它能夠轉型爲任意的引用類型,引用類型的默認值是null

相關文章
相關標籤/搜索