JVM的Serial\Serial old 收集器原理解析

Serial收集器是最基本,发展历史最悠久的单线程收集器

在gc进行的过程中,CPU要停下所有的事情去处理这些,会引起卡顿

但是年代久远的电脑内存非常小,在1998年那时候的电脑都是16M左右的内存,就拿ARPG鼻祖《暗黑破坏神1》来说,和Java出的年份差不多,那是要求的电脑配置也就8M到16M内存

在gc中,就算扫描一遍全部内存时间非常少,卡顿时间非常少

Serial收集器,针对内存几十兆或一两百兆的新生代内存gc,停顿时间能控制在一百毫秒内,更别提那时候那么小的电脑内存了

但是随着后来的内存渐渐变大,尤其是现在服务器都远远超过8G了,gc时间会非常长,这可不行,就产生了后面诸如G1垃圾回收器针对高内存的回收方法

Serial收集器的总体原理图如下:

优点:算法简单,内存占用少,CPU不用切换进程,导致上下文切换时间短,总体效率高

缺点:GC阶段卡顿

Serial Old收集器使用的是标记清除算法(Mark-Sweep);

 可以看见会产生大量的内存碎片,但是不用复制,开销小

Serial收集器使用的是标记-复制算法

 这种算法浪费了内存空间,并且复制也需要电脑资源,但是不会产生内存碎片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值