分代回收理论
2023-03-16 10:49:26   0  举报             
     
         
 GC分代回收理论
    作者其他创作
 大纲/内容
 1.大对象直接进入老年代:JVM中有个参数配置-XX:PretenureSizeThreshold,令大于这个设置值的对象直接进入老年代,目的是为了避免在Eden和Survivor区之间发生大量的内存复制。2.minor gc 之后,存活于survivor 区域的对象的age会+1,当超过(默认)15的时候,转移到老年代。-XX:MaxTenuringThreshold来设定3.动态对象,如果survivor空间中相同年龄所有的对象大小的综合和大于survivor空间的一半,年级大于或等于该年纪的对象就可以直接进入老年代。
  老年代
  方法区
  永久代/元空间
  survivor from(10%)
  survivor to(10%)
  标记清除算法
  堆
    新生代
  1.新产生的对象优先进去Eden区2.Eden区满了之后使用Survivor from3.当Survivor from 也满了之后就进行Minor GC(新生代GC)4.将Eden和Survivor from中存活的对象copy进入Survivor to   如果Survivor to 无法容纳全部存活的对象,则根据老年代的   分配担保(类似于银行的贷款担保)将对象copy进去老年代,如果老年代也无法容纳,则进行Full GC(老年代GC)。5.清空Eden和Survivor from6.调转两个survivor的身份。7.循环反复
  1.新生代回收(Minor GC/Young GC):指只是进行新生代的回收。font color=\"323232\
  朝生夕死每次GC时都会有大量对象死去,少量存活,使用复制算法
  Eden/伊甸园空间(80%)
  GC分类
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 