Java内存回收算法

2020-09-15  本文已影响0人  雁阵惊寒_zhn

标记—清除算法(Mark-Sweep)

  1. 标记需要回收/不需要回收的对象
  2. 清除需要回收的对象

缺点:

标记—复制算法

Appel式回收——HotSpot虚拟机的Serial、ParNew、Parallel Scavenge等新生代收集器策略。新生代划分为伊甸园(Eden)空间和两块较小的Survivor空间,默认Eden和Survivor大小比例为8:1。

注意:Appel式回收在HotSpot虚拟机的Serial、ParNew、Parallel Scavenge等新生代收集器中使用,不同的虚拟机,不同的垃圾回收器使用的策略不同,例如G1收集器就有了颠覆性的算法改进。好多初学者,甚至企业的面试官都把这种标记—复制策略认为是关于垃圾回收策略问题的唯一标准答案,好像垃圾回收策略就应该都是这样的,这种理解是不正确的。

标记—整理算法(Mark-Compact)

在标记—清除算法基础上多了一步整理的过程。

  1. 标记需要回收的对象
  2. 把所有存活的对象移动到内存的一端
  3. 清理存活对象空间以外的所有内存

缺点:(相较标记—清除算法)

上一篇下一篇

猜你喜欢

热点阅读