前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >七种GC和分代回收 GC 分析

七种GC和分代回收 GC 分析

原创
作者头像
Get
发布2024-03-20 21:27:43
930
发布2024-03-20 21:27:43

1、没有运行任何代码时GC:

2、

add 7M

add 512k

add 512k

2、存储大对象,若新生代存放不下,老年代可以存放的下,则直接存放在老年代,也不会触发垃圾回收

add 8M

add 16M:先触发新生代回收、再做老年代新生代回收;两次努力做完之后还不行,则报溢出

https://blog.csdn.net/a303549861/article/details/88744333

https://www.jianshu.com/p/e5d2435a9122

垃圾回收(Garbage Collection,简写为 GC)

代码语言:java
复制
Serial、SerialOld、ParNew、ParallelScavenger、ParallelOld、CMS(ConcurrentMarkSweep)、G1(GarbageFirst)
复制(新、单)、标记整理(老、单)、复制(新、多)、复制(新、多)、标记整理(老、多)、标记整理(初始标记、并发标记、重新标记、清除)、
宏观标记整理(局部区,复制)(初始标记、并发标记、最终标记、筛选清除)
Serial + SerialOld
Serial + CMS
ParNew + CMS
ParNew + SerialOld
ParallelScavenger + ParallelOld
CMS + SerialOld
G1
JVM 截止目前为止,有以下十种垃圾回收器,左边6种为"物理分代模型";G1为"物理分区&逻辑分代";ZGC、Shenandoah为"物理分区模型";
左边6种垃圾回收器,其中上面三种工作在年期代,下面三种工作在老年代,虚线相连的两个垃圾回收器可以相互配合使用。
除GC外:
1、年轻代、老年代是独立且连续的内存块;
2、年轻代收集使用单eden、双survivor进行复制算法;
3、老年代收集必须扫描整个老年代区域;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档