首页 > 编程语言 >老年代与标记复制算法

老年代与标记复制算法

时间:2023-02-07 15:33:38浏览次数:45  
标签:Survivor Eden Space 对象 标记 算法 复制 GC 年代

老年代因为每次只会说少量对象,因此采用Mark-Compact算法。

1、Java虚拟机提到过的处于方法区的永生代(Permanent Generation),它用来存储class类,常量,方法描述等。对永生代的回收主要包括废弃常量和无用的类。

2、对象的内存分配主要在新生代的Eden Space和Survivor Space的From Space(Survivor目前存放对象的那一块),少数情况会直接分配到老年代。

3、当新生的Eden Space和From Space空间不足时就会发生一次GC,进行GC后,Eden Space和From Space区的存活对象会被挪到To Space,然后将Eden Space和From Space进行清理。

4、如果To Space无法足够存储某个对象,则将这个对象存储到老年代。

5、在进行GC后,使用的便是Eden Space和To Space了,如此反复循环。

6、当对象在Survivor区躲过一次GC后,其年龄就会+1,默认情况下年龄达到15的对象会被移到老年代中。

标签:Survivor,Eden,Space,对象,标记,算法,复制,GC,年代
From: https://blog.51cto.com/u_11315052/6042182

相关文章