【发布时间】:2017-11-12 02:41:07
【问题描述】:
假设我在一个 64 位机器上用gcc 编译一个 C 程序。我假设 sizeof(int) 是 8 个字节,sizeof(char) 是 1 个字节。
由于内存对齐,下面的struct:
struct example{
int a;
char c;
}
实际上的大小不是 9 个字节,而是 16 个(两次sizeof(int)),因此它的起始地址和结束地址都可以是字大小的倍数(这里假设为 8 个字节)。
我想知道以下类在 Java 8 中会有多大:
class Node {
int val;
Node left, right;
boolean flag;
}
我基本上不确定我们是否会以 8 字节或 4 字节的倍数对齐。
【问题讨论】:
标签: java memory-alignment