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)


相关推荐
沐苏瑶6 分钟前
Java据结构深度解析:AVL 树与红黑树
数据结构·算法
feifeigo1237 分钟前
MATLAB中对转子建立有限元模型并进行动力学计算
算法
网域小星球8 分钟前
C 语言从 0 入门(十九)|共用体与枚举:自定义类型进阶
c语言·开发语言·算法·枚举·自定义类型·共用体
favour_you___13 分钟前
算法练习2026/4/13
算法·深度优先
A_QXBlms14 分钟前
企微工具对比:群发自动化脚本与定时任务集成
jvm·自动化·企业微信
吃着火锅x唱着歌16 分钟前
LeetCode 1963 使字符串平衡的最小交换次数
算法·leetcode·职场和发展
无敌昊哥战神22 分钟前
【算法与数据结构】深入浅出回溯算法:理论基础与核心模板(C/C++与Python三语解析)
c语言·数据结构·c++·笔记·python·算法
輕華25 分钟前
OpenCV三大传统人脸识别算法:EigenFace、FisherFace与LBPH实战
人工智能·opencv·算法
akarinnnn26 分钟前
【DAY16】字符函数和字符串函数
c语言·数据结构·算法
_日拱一卒32 分钟前
LeetCode:螺旋矩阵
算法·leetcode·矩阵