JVM的GC中对象的age以及JVM内存的分配策略

来源:互联网 发布:淘宝今日分享任务在哪 编辑:程序博客网 时间:2024/06/06 05:27

Young Generation中的GC叫minor GC,Eden中的对象拷贝到S

Old Generation中的GC叫Full GC。

age,官方文档默认为15,age也相当于计数器,每次GC,age+1,age代表GC的次数。

在GC时,S中的对象的age一样的这批数据大于S空间1/2的话,此时age大于或者等于这批对象的对象,就会直接进入Old Generation,而不用达到15。


对象分配时:

1.首先分配到Eden中,Eden空间不足,触发minor GC,若还不够内存,则对象直接分配到Old Generation中。

2.Old Generation,触发Full GC,内存还是不够则发生OOM。

3.大对象直接分配到Old Geneartion。

4.Yong Generation中一般分配小的、生命周期短的对象。