0
点赞
收藏
分享

微信扫一扫

堆的内存结构,对象内存如何分配,GC过程对象的转移


堆的内存结构

堆的内存结构,对象内存如何分配,GC过程对象的转移_对象复制


第一次new出对象(这里不讨论分配在栈上的对象),普通对象放进eden区,对象很大就直接放进老年区(tenured)

第一次GC,eden中没有被回收的对象 放进survivor①中(使用copying算发)

第二次GC,将survivor①中存活的对象复制到survivor②中,这时候如果eden中有存活的对象 直接 放到survivor②中

第三次GC,将survivor②中存活的对象复制到survivor①中,这时候如果eden中有存活的对象 直接 放到survivor①中

经过多次GC,都没有被GC掉的对象 放到老年区

举报

相关推荐

0 条评论