为什么需要内存对齐?

主要有两个原因:

  1. 平台(移植性)原因:
    不是所有的硬件平台都能够访问任意地址上的任意数据。例如:特定的硬件平台只允许在特定地址获取特定类型的数据,否则会导致异常情况。

  2. 性能原因:
    若访问未对齐的内存,将会导致 CPU 进行两次内存访问,并且要花费额外的时钟周期来处理对齐及运算。而本身就对齐的内存仅需要一次访问就可以完成读取动作。

内存对齐的场景

  1. slice

参考

你写的Java对象究竟占多少内存?

原文地址:https://www.cnblogs.com/yudidi/p/12380012.html