新生代
用来存放新创建的对象, 由于创建对象比较频繁所以新生代会频繁触发垃圾回收机制
新生代里分为三个区: Eden(新创建的对象主要在Eden区域)、ServivorFrom、ServivorTo
当Eden区 内存不够的时候 就会触发一次 MinorGC(复制算法的垃圾回收)
虚拟机每次使用新生代中的Eden和另两个中的其中一个,每次GC的时候,都会使用复制算法的GC,
把前两个区域存活的对象一次性复制到 另一块区域,最后清理掉前两块区域.
将此时存活下来的对象年龄设置为1,以后这些对象每在Survivor区熬过一次GC 年龄就加1
当对象的年龄达到15(默认值),就会移动到老年代
老年代
用来存放的都是存活时间比较久的, 比较大的对象
用标记清除算法:
会先扫描一次老年代 把存活的对象标记出来,然后 回收没有被标记的对象.