标记-清除算法:
将标记为待回收的区域,进行清理回收,这样做的性能比较差些,同时会在成内存空洞,比如回收之后形成了ABA三个内存区域,B为已回收,A为正常使用,这是需要分配两个内存空间,则B就不满足条件,会造成空置。
复制算法:
将内存一分为二,回收操作后只占用了1/2的地方,这样内存使用会有一半无法使用。回收时将当前这部分内存对象拷贝到另外一部分,将当前这部分内存直接清理。
标记-整理算法:
在清除之后会进行整理,按照顺序依次排列已经使用和未使用的内存区域,这样不会出现内存空洞。
分代算法:
分成新生代、老年代进行操作。分代之后按照自身条件选择最优回收算法。