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


相关推荐
通往曙光的路上42 分钟前
JVM面试题
jvm
2401_882273721 小时前
pattern属性在旧版Android浏览器无效怎么办_手动验证补充【操作】
jvm·数据库·python
清水白石0081 小时前
深入 Python 循环引用与垃圾回收:如何应对内存管理的挑战
java·jvm·python
2401_8323655212 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
2301_7796224113 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_7662834413 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
zh15702318 小时前
如何编写动态SQL存储过程_使用sp_executesql执行灵活查询
jvm·数据库·python
2401_8242226918 小时前
SQL报表统计数据量巨大_分批统计策略
jvm·数据库·python
X566118 小时前
mysql如何处理连接数过多报错_调整max_connections参数
jvm·数据库·python
m0_6091604918 小时前
MongoDB中什么是Hashed Shard Key的哈希冲突_哈希函数的分布均匀性分析
jvm·数据库·python