【JVM基础12】——垃圾回收-说一下JVM有哪些垃圾回收器?

目录

  • [1- 引言:垃圾回收器](#1- 引言:垃圾回收器)
  • [2- ⭐核心:垃圾回收器详解](#2- ⭐核心:垃圾回收器详解)
    • [2-1 串行垃圾回收器](#2-1 串行垃圾回收器)
    • [2-2 并行垃圾回收器](#2-2 并行垃圾回收器)
    • [2-3 CMS(并发垃圾回收)------主要作用在老年代](#2-3 CMS(并发垃圾回收)——主要作用在老年代)
  • [3- 小结](#3- 小结)
    • [3-1 说一下JVM有哪些垃圾回收器?](#3-1 说一下JVM有哪些垃圾回收器?)

1- 引言:垃圾回收器

在 JVM 中提供了很多垃圾回收器,包括

  • 串行垃圾收集器
  • 并行垃圾收集器
  • CMS(并发)垃圾收集器
  • G1垃圾收集器

2- ⭐核心:垃圾回收器详解

2-1 串行垃圾回收器

串行垃圾回收器主要包含了两个垃圾回收器
SerialSerial Old 串行垃圾收集器,是指使用单线程进行垃圾回收,堆内存较小,适合个人电脑

  • Serial 作用于新生代,采用 复制算法
  • Serial Old 作用于老年代,采用 标记-整理算法

垃圾回收时,只有一个线程在工作,并且 Java 应用中的所有线程都要暂停 (STW),等待垃圾回收的完成。


2-2 并行垃圾回收器

Parallel New 和 Parallel Old 是一个 并行 的垃圾回收器, JDK8 默认使用此垃圾回收器

  • Parallel New 作用于新生代,采用 复制算法
  • Parallel Old 作用于老年代,采用复制算法

垃圾回收时,多个线程在工作,并且 Java 应用中的所有线程都要暂停(STW),等待垃圾回收的完成。


2-3 CMS(并发垃圾回收)------主要作用在老年代

CMS 全称 Concurrent Mark Sweep ,是一款 并发 的、使用 标记-清除 算法的垃圾回收器,该回收器是 针对老年代垃圾回收的,是一款以获取最短回收停顿时间为目标的收集器,停顿时间短,用户体验就好。

  • 其最大的特点就是在运行垃圾回收时,应用仍然能正常运行。
  • CMS 通过初始标记、并发标记、重新标记、并发清理实现了高效的垃圾回收。

3- 小结

3-1 说一下JVM有哪些垃圾回收器?


相关推荐
leaves falling2 小时前
一篇文章深入理解指针
jvm
linweidong3 小时前
C++ 中避免悬挂引用的企业策略有哪些?
java·jvm·c++
曹轲恒3 小时前
JVM中的直接内存
jvm
BHXDML4 小时前
JVM 深度理解 —— 程序的底层运行逻辑
java·开发语言·jvm
隐退山林5 小时前
JavaEE:多线程初阶(二)
java·开发语言·jvm
期待のcode6 小时前
Java虚拟机堆
java·开发语言·jvm
alonewolf_9916 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
weixin_4657909116 小时前
电动汽车有序充电:电网负荷削峰填谷的新利器
jvm
ProgramHan18 小时前
Spring Boot 3.2 新特性:虚拟线程的落地实践
java·jvm·spring boot
小当家.10520 小时前
深入理解JVM:架构、原理与调优实战
java·jvm·架构