标记清除算法:遍历所有的GC Roots,然后将所有GC Roots可达的对象标记为存活的对象;遍历堆中所有的对象,将没有标记的对象全部清除掉。产生内存碎片
复制算法:把内存一分为2,把存活对象从一个内存复制到另一个内存中,当前内存空间清空。避免碎片,内存使用率降低
标记整理算法:把存活对象标记,然后移动,把最后一个存活对象后面的空间全部清空
分代算法:复制算法和标记整理算法的结合。
新生代:(Eden):(survivor,from): (survivor,to)=8:1:1
新生代:老年代=2:1
java采用的是分代算法