【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 串行垃圾回收器

串行垃圾回收器主要包含了两个垃圾回收器
Serial 和 Serial 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有哪些垃圾回收器?


相关推荐
寂寞的船2 天前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
金銀銅鐵3 天前
同一个 Hello World,Kotlin 和 Java 在字节码层面差在哪
jvm·后端·kotlin
yeccheng5 天前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
On The Road :7 天前
深入理解 JVM 垃圾回收:GC 是什么、如何判定垃圾、四大回收算法全解析
jvm·算法
Yves..7 天前
JVM 学习笔记:内存区域、类加载机制与垃圾回收
jvm
akinggw8 天前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
yh弓长8 天前
JVM 核心机制
jvm
tg_xianheyun9 天前
腾讯云国际账号注册代充值适合哪些海外业务场景?
jvm
yuniko-n9 天前
【JVM】对象内存布局
java·开发语言·jvm
wuminyu9 天前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++