内存管理真正难的地方,不在“内存条有多大”,而在程序看到的地址为什么和真实内存地址不是一回事。
这背后对应的就是虚拟地址、物理地址和虚拟内存。
一、什么是物理地址
物理地址就是内存条上的真实地址,也就是 CPU 最终真正访问到的内存位置。
如果没有地址转换机制,程序就必须直接使用物理地址。这种方式实现简单,但问题很多。
二、什么是虚拟地址
虚拟地址是进程运行时看到和使用的地址。
程序员在代码里接触到的变量地址、数组地址、对象地址,本质上通常都属于当前进程的虚拟地址空间,而不是真正的物理地址。
2026/3/28...大约 5 分钟
