在64位机上,使用如下故意编制的程序调试观察。
可得如下结果:
对此我们有如下结论:
0)内存地址编址的基本单位是byte。
1)
bool、char: 1byte/8bit;
short: 2byte/16bit;
int、float: 4byte/32bit;
double: 8byte/64bit。
2)
为了优化,内存会进行对齐排列。(在不同情形下可能有不同的对齐方式)
3)非栈内存通常从低地址向高地址分配。
IA的栈内存通常由高地址向地址分配。
在64位机上,使用如下故意编制的程序调试观察。
可得如下结果:
对此我们有如下结论:
0)内存地址编址的基本单位是byte。
1)
bool、char: 1byte/8bit;
short: 2byte/16bit;
int、float: 4byte/32bit;
double: 8byte/64bit。
2)
为了优化,内存会进行对齐排列。(在不同情形下可能有不同的对齐方式)
3)非栈内存通常从低地址向高地址分配。
IA的栈内存通常由高地址向地址分配。