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)


相关推荐
进击的小头9 小时前
第6篇:贝尔曼最优化理论
python·算法·动态规划
EQUINOX110 小时前
bitset + meet in the middle,P3067 [USACO12OPEN] Balanced Cow Subsets G
算法
四处炼丹10 小时前
OpenClaw本地部署与Multi-Agent 技术分享
人工智能·算法·aigc·agent·ai编程
Σίσυφος190010 小时前
周期 Pattern Removal 算法
算法
飞Link10 小时前
深度捕捉时序本质:TSTD 异常检测之表示学习(Representation-based)全解析
学习·算法·数据挖掘·回归
滴滴答滴答答10 小时前
机考刷题之 10 LeetCode 200 岛屿数量
算法·leetcode·职场和发展
mit6.82411 小时前
Agent memory发展路线
算法
青桔柠薯片11 小时前
Linux I/O多路复用:深入浅出poll与epoll
linux·运维·服务器·算法
哈哈很哈哈12 小时前
逻辑回归Logistic Regression
算法·机器学习·逻辑回归
甄心爱学习12 小时前
【极大似然估计/最大化后验】为什么逻辑回归要使用交叉熵损失函数
算法·机器学习·逻辑回归