什么是对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲彷佛对任何类型的变量的访问能够从任何地址开始,但实际状况是在访问特定变量的时候常常在特定的内存地址访问,这就须要各种型数据按照必定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。spa
为何要对齐: 对齐的做用和缘由:各个硬件平台对存储空间的处理上有很大的不一样。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其余平台可能没有这种状况, 可是最多见的是若是不按照适合其平台的要求对数据存放进行对齐,会在存取效率上带来损失。好比有些平台每次读都是从偶地址开始,若是一个int型(假设为 32位)若是存放在偶地址开始的地方,那么一个读周期就能够读出,而若是存放在奇地址开始的地方,就可能会须要2个读周期,并对两次读出的结果的高低 字节进行拼凑才能获得该int数据。显然在读取效率上降低不少。这也是空间和时间的博弈。内存