首先堆内存分为规整和不规整
一、指针碰撞方式
通过移动指针来分配内存,适用于堆内存绝对规整的情况。
二、空闲列表法
使用链表将内使用的内存串联起来
这种方式回收效率更高,因为回收内存之后不用进行规整。
具体使用哪种内存是垃圾回收器所决定的,比如jdk8使用CMS垃圾回收器,他想让STW尽可能的小,他使用的是空闲列表法。
首先堆内存分为规整和不规整
通过移动指针来分配内存,适用于堆内存绝对规整的情况。
使用链表将内使用的内存串联起来
这种方式回收效率更高,因为回收内存之后不用进行规整。
具体使用哪种内存是垃圾回收器所决定的,比如jdk8使用CMS垃圾回收器,他想让STW尽可能的小,他使用的是空闲列表法。