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)


相关推荐
多加点辣也没关系13 小时前
数据结构与算法|第十八章:动态规划(上)— 基础篇
数据结构·算法·动态规划
guo_xiao_xiao_13 小时前
YOLOv11算法夜间机场跑道灯带目标检测数据集-900张-Airplane-1_5
算法·yolo·目标检测
Rabitebla13 小时前
从零实现 C++ List:带头循环双向链表的每一个细节
数据结构·c++·算法·leetcode·链表·list
likerhood13 小时前
认识 JVM:Java 程序背后的那台“隐形计算机”
java·开发语言·jvm
ZPC821014 小时前
Linux / Ubuntu 隔离 CPU 核心 + ROS2 线程绑定
人工智能·算法·计算机视觉
学习3人组14 小时前
柔性排产:局部秒级重排 算法规划+内部拆分目标 详细对照表
算法·mes
shehuiyuelaiyuehao14 小时前
算法20,x的平方根
开发语言·python·算法
luoganttcc14 小时前
冯诺依曼体系有一天会被打破吗
算法·架构
V搜xhliang024614 小时前
【进阶篇】OpenClaw 高级技巧:定时任务 + 子 Agent + 自动化工作流
运维·人工智能·算法·microsoft·自动化
YOU OU14 小时前
JVM基础知识
开发语言·jvm