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)


相关推荐
2401_867623985 分钟前
JavaScript中Number-isSafeInteger的校验逻辑
jvm·数据库·python
大大杰哥6 分钟前
2026陕西省ICPC省赛补题(前六题)
c++·算法
Brilliantwxx8 分钟前
【C++】 继承与多态(上)
开发语言·c++·笔记·算法
05候补工程师9 分钟前
【线性代数】核心考点:二次型、矩阵三大关系综合与正定矩阵判别法
笔记·线性代数·考研·算法·矩阵
亅-丿-丶丿丶一l一丶-/^n10 分钟前
RLHF|PPO算法原理(一)
算法·自然语言处理
ʚ希希ɞ ྀ11 分钟前
打家劫舍----背包dp
数据结构·算法·leetcode
JAVA面经实录91713 分钟前
完整版JVM 深度学习体系(一)
java·jvm
兰令水15 分钟前
topcode【随机算法题】【2026.5.17打卡-java版本】
java·算法·leetcode
吃好睡好便好18 分钟前
在Matlab中绘制柱面图
开发语言·学习·算法·matlab
wang3zc19 分钟前
如何设置密码复杂度策略以约束MongoDB用户的密码强度
jvm·数据库·python