返回

老年代与标记复制算法

发布时间:2023-02-15 13:04:43 246

老年代因为每次只会说少量对象,因此采用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的对象会被移到老年代中。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
如何确定垃圾 2023-02-15 12:34:02