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)


相关推荐
我是章汕呐几秒前
地级市能源消耗量及消耗强度数据【2006-2023年】平衡面板
人工智能·经验分享·算法·回归
charliejohn14 分钟前
计算机考研 408 数据结构 堆的插入与删除 堆排序
算法
老鱼说AI44 分钟前
从点积到希尔伯特空间:向量内积的几何本质与大模型相似度度量
人工智能·深度学习·线性代数·算法·机器学习·数学建模
地平线开发者1 小时前
模型部署|如何解决算子约束
深度学习·算法·自动驾驶
需要8261 小时前
Arthas 一个命令排查线上问题
java·jvm·spring·spring cloud
Navigator_Z2 小时前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode
deepseek232 小时前
GPT-6 Astra 破解 FrontierMath 九年悬案拆解:调和熵投票规则反证核恒非空,局部搜索如何终结反例悬赏
人工智能·算法·ai agent
syagain_zsx2 小时前
算法基础篇 · 04 前缀和(C++ 题解)
c++·算法·前缀和
程序员阿鹏4 小时前
简单介绍一下软引用
java·开发语言·jvm·数据结构·后端
青山是哪个青山4 小时前
LeetCode 123:买卖股票的最佳时机 III
算法