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

相关文章
相关标签/搜索