java基本类型对齐

1、Java 基本数据类型和精度

整数数据类型

关键字描述大小格式
byte 字节长度整数 8 位二进制补码 从 +127 到 -128
short 短整型 16 位二进制补码 从 +32767 到 -32768
int 整数 32 位二进制补码 从 +2147483647 到 -2147483648
long 长整型 64 位二进制补码 从 +9223372036854775807 到 -9223372036854775808

实数数据类型

关键字描述大小格式
float 单精度浮点 32 位 IEEE 754 从 3.4028235E38 到 1.4E-45
double 双精度浮点 64 位 IEEE 754 从 1.7976931348623157E308 到 4.9E-324

其他数据类型

关键字描述大小/格式
char 单字符 16 位 Unicode 字符
Boolean 布尔值(true 或 false) true 或 false

2、基本数据类型按照下列顺序进行对齐

double、long

int、float

short、char

boolean、byte

3、Sun java虚拟机规定:

  出数组外的所有对象都包含一个长度为双字的header,一个长度为单字的flags,一个指向对应类引用的单字字段。当用new Object()创建一个对象时,堆上会为其分配8个字节的内存空间。

  对一个继承Object的类来说,在8个字节后面,类的各个属性在堆内存上会按照一定的规则对齐,但并不按照他们的声明顺序对齐。

  首先基本是基本类型安装2中的方式对齐;接着,该类所引用其它类的对象也会在堆上进行对齐。JVM会把对象的大小调整为8字节的倍数

posted @ 2014-01-15 12:47  tutar  阅读(2086)  评论(0编辑  收藏  举报