堆里面的分区:伊甸园,from,to老年区。说说他们的特点。

堆里面的分区:伊甸园,from,to老年区。说说他们的特点。

堆中的分区主要分为

  1. 新生区;它又分为幸存1区和幸存2区,伊甸园区.
  2. 老年区

首先新生区:大部分的对象都是在伊甸园区创建并回收的,回收后幸存的对象会被放到幸存区(to)区,幸存区1,2他俩是互相交换的,这其中牵涉到了复制算法,
复制算法主要被应用在新生区中的幸存区,具体流程就是在幸存区中将活的对象进行复制到另一个幸存区中,留下来的对象就会被清理掉,不断地交换.这样做的缺点就是占用空间大,用到的空间只有开辟的1/2.
复制算法主要是根据GCroot判断一个对象是否是垃圾.

当幸存区中经过十五次GC还未被清除掉的对象会进入老年区.

老年代一般存放的是比较大的对象和存活时间很久的对象因此老年代用标记整理算法,老年代容量满后会启用重GC.

你可能感兴趣的:(jvm,java,jvm)