JVM(五)——七种垃圾回收器

在 JVM 中,常见的七种垃圾回收器包括:

1、Serial 垃圾回收器(串行回收器)

  • 单线程执行垃圾回收,在进行垃圾回收时,会暂停所有用户线程。
  • 适用于小型应用和单核 CPU 环境。

2、ParNew 垃圾回收器

  • Serial 回收器的多线程版本。
  • 常用于与 CMS 回收器配合使用。

3、Parallel Scavenge 回收器

  • 关注的是吞吐量(运行用户代码的时间 / 总运行时间)。
  • 可以通过参数来调整垃圾回收的时间和频率。

4、Serial Old 回收器

  • Serial 回收器的老年代版本。

5、Parallel Old 回收器

  • Parallel Scavenge 回收器的老年代版本。

6、CMS(Concurrent Mark Sweep)回收器

  • 以获取最短回收停顿时间为目标,是一种并发的垃圾回收器。
  • 分为初始标记、并发标记、重新标记、并发清除四个阶段。

7、G1(Garbage-First)回收器

  • 面向服务端应用,将堆内存划分为多个大小相等的区域。
  • 可以预测停顿时间,并优先回收价值最大的区域。

例如,在一个对响应时间要求较高的 Web 应用中,可能会选择 CMSG1 回收器;而对于后台批量处理任务,更注重吞吐量,可能会选择 Parallel Scavenge 搭配 Parallel Old 回收器。

相关推荐
胡利光几秒前
Context Engineering 实战 02|System Prompt 是架构决策,不是写说明书
java·架构·prompt
qq_392690661 分钟前
Scikit-learn怎么实现协同过滤推荐_利用NearestNeighbors找相似用户
jvm·数据库·python
dfdfadffa2 分钟前
C#怎么使用TopLevel顶级语句 C#顶级语句怎么写如何省略Main方法简化控制台程序【语法】
jvm·数据库·python
qq_413502022 分钟前
Workerman vs Swoole:2026高性能PHP框架怎么选?
jvm·数据库·python
sinat_255487813 分钟前
数组·学习笔记
java·javascript·笔记
江离w3 分钟前
codex等vibe coding初始化后端项目指令
java
Paxon Zhang4 分钟前
JavaEE 初阶大师之路之*线程,多线程编程,Thread类,变量捕获,中断线程* 一文全部搞懂!!
java·java-ee
逻辑驱动的ken7 分钟前
Java高频面试考点场景题16
java·开发语言·面试·职场和发展·求职招聘
zjy277778 分钟前
PHP源码对声卡有依赖吗_音频硬件无关性说明【方法】
jvm·数据库·python
2301_818008449 分钟前
PHP函数如何适配高密度服务器机箱_PHP在紧凑硬件布局优化【操作】
jvm·数据库·python