对象的分配直接关系到内存的使用效率、垃圾回收的效率,不同的分配策略也会影响对象的分配速度,从而影响应用程序的运行。
ZGC为了支持太字节(TB)级内存,设计了基于页面(page)的分页管理(类似于G1的分区Region);为了能够快速地进行并发标记和并发移动,对内存空间重新进行了划分,这就是ZGC中新引入的Color Pointers;同时ZGC为了能更加高效地管理内存,设计了物理内存和虚拟内存 两级内存管理。
为了能清晰地了解ZGC内存管理,在本章中,我们先介绍操作系统的虚拟内存和物理内存;随后介绍了ZGC的内存管理,主要包括多视图映射、NUMA支持和ZGC的两级内存管理;最后介绍了ZGC的对象分配,包括对象的快速分配和慢速分配、页面的分配。