🌈hello,你好鸭,我是Ethan,西安电子科技大学大三在读,很高兴你能来阅读。
✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!
🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客
🔥温馨提示:划到文末发现专栏彩蛋 点击这里直接传送
🔥本篇概览:详细讲解了serial串行垃圾收集器的方方面面🌈⭕🔥
【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】
🌈章节引出:
前一篇章:
🌈章节速览:
Serial收集器:串行回收
Serial收集器是最基本、历史最悠久的垃圾收集器了,是JDK1.3之前回收新生代唯一的选择。Serial收集器作为HotSpot中 Client 模式下的默认新生代垃圾收集器,采用的是复制算法、串行回收和 STW 机制的方式执行内存回收。
除了新生代,Serial收集器还提供了用于执行老年代垃圾收集的Serial Old 收集器。Serial Old收集器同样采用了串行回收和 STW 机制,只不过内存回收算法使用的是标记一压缩算法。Serial Old 是运行在 Client模式下默认的老年代的垃圾收集器。Serial Old 在 Server 模式下主要有两个用途。
(1)与新生代的 Parallel Scavenge 垃圾收集器搭配。
(2)作为老年代CMS收集器的后备方案。
Serial/Serial Old 收集器是单线程的收集器,它的“单线程”的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程--“Stop The World”,直到它收集结束。这就意味着每次垃圾收集时都会给用户带来一定的卡顿现象,造成不良的用户体验,如图16-10所示。
Serial垃圾收集器相比于其他收集器也有一定的优点:简单而高效。Serial收集器由于没有线程交互的开销,只需要专心做垃圾收集,自然可以获得很高的单线程收集效率。【没有线程上下文切换开销】。虚拟机的 Client 模式【回顾】下使用 Serial 垃圾收集器是个不错的选择。比如在用户的桌面应用场景中,可用内存一般不大(几十M至一两百M),可以在较短时间内完成垃圾收集(几十ms至一百多ms),只要不频繁发生,使用Serial收集器是一个不错的选择。
在 HotSpot 虚拟机中,可以通过设置“-XX:+UseSerialGC”参数明确指定新生代和老年代
这种垃圾收集器大家了解就可以,现在已经几乎不用该类型的垃圾收集器了,通常在单核CPU 场景下才用。
💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖
热门专栏推荐
🌈🌈计算机科学入门系列 关注走一波💕💕
🌈🌈CSAPP深入理解计算机原理 关注走一波💕💕
🌈🌈微服务项目之黑马头条 关注走一波💕💕
🌈🌈redis深度项目之黑马点评 关注走一波💕💕
🌈🌈JAVA面试八股文系列专栏 关注走一波💕💕
🌈🌈JAVA基础试题集精讲 关注走一波💕💕
🌈🌈代码随想录精讲200题 关注走一波💕💕
总栏
🌈🌈JAVA基础要夯牢 关注走一波💕💕
🌈🌈JAVA后端技术栈 关注走一波💕💕
🌈🌈JAVA面试八股文 关注走一波💕💕
🌈🌈JAVA项目(含源码深度剖析) 关注走一波💕💕
🌈🌈计算机四件套 关注走一波💕💕
🌈🌈数据结构与算法 关注走一波💕💕
🌈🌈必知必会工具集 关注走一波💕💕
🌈🌈书籍网课笔记汇总 关注走一波💕💕
📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!