关于JVM:JVM垃圾收集

垃圾收集算法

标记-革除算法

该算法次要有两个阶段:标记,革除。首先标记出所有须要回收的对象,标记实现后,回收(革除)所有被标记的对象;或标记所有不须要要回收的对象,而后回收所有未被标记的对象。
毛病:

  1. 执行效率不稳固,如果Java堆中蕴含大量须要革除的对象,这是必须要进行大量的标记和革除动作,导致两个过程的执行效率随着对象的数量蒸架而升高。
  2. 内存碎片化

标记-复制算法

将可用内存依照容量划分为两个大小统一的内存空间,每次仅应用其中一块,当一块内存用完后,将存活的对象挪动到另一块内存中,而后清理该内存。
毛病:

  1. 如果有大量对象存活,在复制时会产生大量的开销
  2. 可用内存放大一半,空间节约重大。

标记-整顿算法

首先标记存活的对象,而后依照肯定形式用存活的对象笼罩“死亡”对象所占用的内存空间以达到整顿的目标。

各个垃圾收集器的关系

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理