【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有哪些垃圾回收器?


相关推荐
killerbasd16 小时前
总结 7.04
jvm
summer_west_fish1 天前
K8s下Java服务OOM排查指南
jvm
花生了什么事o1 天前
Java 线程池:从参数到拒绝策略
java·jvm
Esaka_Forever1 天前
Python 与 JS (V8) 垃圾回收核心区别 + 底层根源分析
开发语言·javascript·jvm
wuminyu1 天前
markword在高并发场景下变化剖析
java·linux·c语言·jvm·c++
爱奥尼欧1 天前
轻量级可扩展日志框架-日志落地与日志器模块实现
jvm·数据库·c++
Rotion_深1 天前
C# 值类型与引用类型 详解
开发语言·jvm·c#
C++、Java和Python的菜鸟2 天前
第1章 集合高级
java·jvm·python
骑士雄师2 天前
java面试题:jvm ,mybatis
java·jvm·mybatis
珊珊而川2 天前
flexsearch静默错误
java·开发语言·jvm