JVM垃圾收集器【如何找到垃圾、清除垃圾的算法、垃圾回收器】

JVM垃圾收集器

转自《极客时间》

GC基本原理

垃圾回收

如果不进行垃圾收集,内存数据很快就会被占满

理论计算:

计算题:256byte * 400w / 1024 /1024 = 976.5625 MB

400百万256byte请求 约等于对象 1GB

什么是垃圾?

如何找到这个垃圾?

引用计数法和根可达算法

1)引用计数法(Reference Counting)

通过引用计数方法,找到这个垃圾


2)根可达算法(GCRoots Tracing)

3)回收过程

4)对象引用





清除垃圾的算法

JVM提供3种方法,清除垃圾对象:

  1. Mark-Sweep 标记清除算法
  2. Copying 拷贝算法
  3. Mark-Compact 标记压缩算法




垃圾回收器

串行收集器

Serial

Serial Old

并行收集器

Parallel Scavenge【吞吐量优先 用与并行,复制算法】

Parallel Old


ParNew收集器


CMS收集器【用户线程并行】


G1(Garbage-First)收集器





ZGC(Z Garbage Collector)


相关推荐
硅谷秋水2 分钟前
Qwen-VLA:跨任务、环境与机器人形态的视觉-语言-动作统一建模
人工智能·深度学习·算法·计算机视觉·语言模型·机器人
IronMurphy29 分钟前
【算法五十六】84. 柱状图中最大的矩形
算法
fie888938 分钟前
matlab打靶法求解两点边值优化问题
开发语言·算法·matlab
不做无法实现的梦~1 小时前
常见工程分析软件
stm32·嵌入式硬件·算法
hetao17338371 小时前
2026-05-28~06-02 hetao1733837 的刷题记录
c++·算法
ZhengEnCi1 小时前
O08-单写线程与单读线程冲突分析
算法
仍然.1 小时前
算法题目---优先级队列
算法
一个爱编程的人1 小时前
图的相关概念
c++·算法·图论
迈巴赫车主1 小时前
贪心算法
算法·贪心算法
星马梦缘2 小时前
死锁与进程资源分配问题的解法
算法·操作系统·深度优先·死锁