1.jvm年轻代内存回收 Eden:survivor=8:1
2.采用复制算法 Eden区满后标记后将存活对象房子survivor0里 如下图:

下一次Eden 满了 会将对象放到之前清空的 survivor1的区域里
问:
1.survivor的对象如何被清理 同样是标记-清除/整理算法嘛?
2.对象从年轻代到老年代是经过每次gc时候 还是动态的进入,当达到某一条件晋升?什么条件
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
lz你好,之前看到你在我的文章浅析JVM之内存管理下评论了,同时也看到了你的问题。我的文章里面都有提到:
survivor区属于年轻代,用的是复制收集算法
经过数次(默认是15次)在两个Survivor区域移动后还存活的对象最后会被移动到老年代
特别大的对象直接进入老年代
推荐看看《深入理解java虚拟机》。
1.新生代的GC算法几乎都是复制算法,也就是说,survivor也是被复制到老年代中去的。
2.对象从新生代到老年代,有几种情况
还有一些其他情况,可以看看书