问题描述
最近打算写一个分代垃圾回收,我打算在NewGeneration中分为两个区域,即只有from区域跟to区域,但是最近查看了好多关于JVM的分代垃圾机制的文章,JVM在NewGeneration中分为三个区域,即Eden、from、to三个区域,好多文章介绍Eden都是该区域是一整块连续的堆,加速了分配的速度,但是我想问的是,如果只分为两个区域,每次从from拷贝到to后,to区域剩下的空间也是连续的,分配速度应该也是很快的,这点让我很迷惑,为什么JVM要分为三个区域。所以,我想问一下我这分两个区域跟JVM分三个区域的区别在哪里?以及JVM分三个区域的出发点以及好处在哪里?请求各位大大帮忙解惑
时间: 2024-10-03 14:55:23