1、java数据类型
java的数据类型分为两类:原始类型(primitive type,也叫做基本类型)和引用类型(reference type),与之对应的原始值和引用值。
1.1 原始类型和值
byte类型:8位有符号二进制补码整数,默认值为0,范围:-27 ~ -27-1。
short类型:16位有符号二进制补码整数,默认值为0,范围:-215 ~ -215-1。
int类型:32位有符号二进制补码整数,默认值为0,范围:-231 ~ -231-1。
long类型:64位有符号二进制补码整数,默认值为0,范围:-263 ~ -253-1。
char类型:16位无符号整数表示的unicode码点。
float:32位单精度浮点数。
double:64位双精度浮点数。
boolean:布尔类型,值位true和false。
1.2 引用类型
引用类型分为三种:类类型(class type)、数组类型(array type)和接口类型(interface type),这些引用类型值分别指向动态创建的类实例、数组实例和实现了某个接口的类实例或数组实例。
2、运行时数据区
2.1 PC寄存器(Program Counter Register)
PC寄存器(Program Counter Register) 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条执行字节码指令。
每条线程都有一个独立的PC寄存器(程序计数器)。
如果执行的是java方法,这个计数器记录的是正在执行的虚拟机字节码指令地址。如果是native方法,计数器为空。此内存区域是唯一一个在java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。
网友评论