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)


相关推荐
gelald5 分钟前
JVM - 类加载机制
java·jvm·后端
数据皮皮侠10 分钟前
2285 上市公司组织衰退程度【Dec】2010-2024
大数据·人工智能·算法·制造
daxi15012 分钟前
C语言从入门到进阶——第17讲:字符串函数
c语言·开发语言·算法·蓝桥杯
967714 分钟前
C++ 内存管理的核心——RAII 机制。两种锁 lock_guard, unique_lock
java·jvm·c++
wljy116 分钟前
第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(个人见解,已完结)
c语言·c++·算法·蓝桥杯
CoderCodingNo18 分钟前
【GESP】C++八级考试大纲知识点梳理 (7) 算法的时间和空间效率分析
开发语言·c++·算法
青瓷程序设计23 分钟前
基于YOLO的安全帽佩戴检测系统~Python+模型训练+2026原创+YOLO算法
python·算法·yolo
Trouvaille ~24 分钟前
【优选算法篇】拓扑排序——逻辑先后与任务依赖的终极拆解
数据结构·c++·算法·leetcode·青少年编程·蓝桥杯·拓扑学
T1an-127 分钟前
博乐科技笔试题
科技·算法
XiYang-DING32 分钟前
【LeetCode】118.杨辉三角
算法·leetcode·职场和发展