1.jvm年轻代内存回收 Eden:survivor=8:1
2.采用复制算法 Eden区满后标记后将存活对象房子survivor0里 如下图:
下一次Eden 满了 会将对象放到之前清空的 survivor1的区域里
问:
1.survivor的对象如何被清理 同样是标记-清除/整理算法嘛?
2.对象从年轻代到老年代是经过每次gc时候 还是动态的进入,当达到某一条件晋升?什么条件
PHP中文网2017-04-18 10:53:28
こんにちは、lz さん。以前、私の記事「JVM メモリ管理の簡単な分析」に対するあなたのコメントを拝見し、あなたの質問も拝見しました。私の記事で言及されています:
サバイバーエリアは若い世代に属し、コピーコレクションアルゴリズムを使用します
2 つの Survivor エリア間で数回 (デフォルトは 15 回) 移動された後もまだ生きているオブジェクトは、最終的に古い世代に移動されます
非常に大きな物体は直接老朽化します
怪我咯2017-04-18 10:53:28
「Java 仮想マシンの詳細な理解」を読むことをお勧めします。
1. 新世代の GC アルゴリズムはほぼすべて複製アルゴリズムです。つまり、生き残ったものは古い世代にもコピーされます。
2. オブジェクトが新しい世代から古い世代に移動する場合は、いくつかの状況があります
他にもいくつかの状況があります、本を読んでください