对象分配与GC过程

对象分配与GC过程

  1. 创建对象时,优先在Eden区分配;如果对象大小超过-XX:PretenureSizeThreshold指定的值,则直接进入Old区;如果改对象的类首次加载,则加载类信息到方法区;
  2. 当Eden区满的时候,触发YGC,存活对象存入Survivor区;
  3. 当Survivor区对象存活时间超过晋升阈值时,长期存活的对象进入Old区;如果YGC存活对象的大小超过Survivor区的剩余容量,即Survivor溢出,溢出部分的对象直接进入Old区;
  4. 当Old区满或者使用占比超过指定阈值-XX:CMSInitiatingOccupancyFraction,触发FGC,回收Old区和方法区,同时伴随着至少一次YGC;
  5. 当-XX:CMSInitiatingOccupancyFraction开启时,方法区满或者使用占比超过指定阈值-XX:CMSInitiatingPermOccupancyFraction,触发FGC;

相关文章:

  • 2022-12-23
  • 2021-04-12
  • 2021-07-11
  • 2022-01-03
  • 2022-12-23
  • 2021-04-04
  • 2021-08-31
  • 2021-11-01
猜你喜欢
  • 2021-09-22
  • 2021-08-11
  • 2021-11-12
  • 2021-12-27
  • 2022-12-23
  • 2022-01-13
  • 2022-02-04
相关资源
相似解决方案