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)


相关推荐
一只小白00015 分钟前
【JVM | 第一篇】—— JVM内存区域详解
jvm
洛水水15 分钟前
【力扣100题】63.最小覆盖子串
算法·leetcode
AllData公司负责人28 分钟前
亲测丝滑,体验跃迁|AllData通过集成开源项目RustFS,多模态数据存储新范式
java·大数据·数据库·算法·数据分析·rustfs
磊 子31 分钟前
AVL树的讲解
数据结构·算法
Trouvaille ~38 分钟前
【Redis篇】Hash 哈希:字段级操作与对象存储的最佳实践
数据库·redis·后端·算法·缓存·哈希算法·键值对
悠仁さん1 小时前
数据结构 树 二叉树 堆 (链式二叉树模拟实现篇)
数据结构·算法
z200509301 小时前
今日算法(带回文问题的回溯)
算法·leetcode·回溯
洛水水1 小时前
【力扣100题】55.编辑距离
算法·leetcode·动态规划
洛水水1 小时前
【力扣100题】62.滑动窗口最大值
数据结构·算法·leetcode
IronMurphy1 小时前
算法五十一 64. 最小路径和
算法