对象分配与GC过程

- 创建对象时,优先在Eden区分配;如果对象大小超过-XX:PretenureSizeThreshold指定的值,则直接进入Old区;如果改对象的类首次加载,则加载类信息到方法区;
- 当Eden区满的时候,触发YGC,存活对象存入Survivor区;
- 当Survivor区对象存活时间超过晋升阈值时,长期存活的对象进入Old区;如果YGC存活对象的大小超过Survivor区的剩余容量,即Survivor溢出,溢出部分的对象直接进入Old区;
- 当Old区满或者使用占比超过指定阈值-XX:CMSInitiatingOccupancyFraction,触发FGC,回收Old区和方法区,同时伴随着至少一次YGC;
- 当-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
相关资源
-
下载
2022-12-29
-
下载
2023-02-24
-
下载
2021-06-24