目录
- [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 通过初始标记、并发标记、重新标记、并发清理实现了高效的垃圾回收。