校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > 垃圾回收算法
题目
以下哪些jvm的垃圾回收方式采用的是复制算法回收(多选)

A.新生代串行收集器

B.老年代串行收集器

C.并行收集器

D.新生代并行回收收集器

E.老年代并行回收收集器

F.cms收集器

解答

正确答案是 AD

两个最基本的java回收算法:复制算法和标记清理算法
复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法
标记清理:一块区域,标记可达对象(可达性分析),然后回收不可达对象,会出现碎片,那么引出
标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象
两个概念:新生代和年老代
新生代:初始对象,生命周期短的
永久代:长时间存在的对象
整个java的垃圾回收是新生代和年老代的协作,这种叫做分代回收。
Serial New收集器是针对新生代的收集器,采用的是复制算法
Parallel New(并行)收集器,新生代采用复制算法,老年代采用标记整理
Parallel Scavenge(并行)收集器,针对新生代,采用复制收集算法
Serial Old(串行)收集器,新生代采用复制,老年代采用标记整理
Parallel Old(并行)收集器,针对老年代,标记整理
CMS收集器,基于标记清理
G1收集器:整体上是基于标记 整理 ,局部采用复制

综上:新生代基本采用复制算法,老年代采用标记整理算法。cms采用标记清理。

C 7条回复 评论
简书

老师的讲解很有侧重点,听着不会累

发表于 2022-11-27 21:00:00
0 0
偷看星星

好文,喜欢看,比书上的好

发表于 2021-09-11 08:25:00
0 0
肖白刃

云里雾里地听完了……

发表于 2021-09-10 14:10:00
0 0
咸鱼王

新生代中一般采用复制算法,因为存活下来的对象是少数,所需要复制的对象少,而老年代对象存活多,不适合采用复制算法,一般是标记整理和标记清除算法。

发表于 2018-10-23 11:18:58
0 0
窦先生

看来我有必要好好看看一些深入一点的书籍。。。

发表于 2018-10-23 11:18:45
0 0
人生赢家

我居然成功蒙对了

发表于 2018-10-23 11:18:37
0 0
心意

我现在回家种田还来得及?

发表于 2018-10-23 11:18:27
0 0