一。Mark Sweep(标记契约)算法
标记—内存回收—压缩
标记:从引用关系的各种根结点入手,如此刻驻留在内存中的类A中有引用成员类B,则B将被标记为不可回收。
二。Generational 分代算法
将内存从大到小分为三代(三级)。
各代内存饱和触发GC都会回收本代及前代,并且将本代未回收对象移动到后一代,由于三代大小空间从大到小划分,所以将导致回收触发的次数依次减少,以提升性能。