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)


相关推荐
C蔡博士4 分钟前
计算复杂性:P、NP、NP-hard、NP-complete 一篇通关
算法·计算理论·np问题·计算复杂性
add45a13 分钟前
C++与自动驾驶系统
开发语言·c++·算法
TsukasaNZ18 分钟前
C++中的命令模式
开发语言·c++·算法
superkcl202234 分钟前
指针常量有什么用呢?
开发语言·c++·算法
华清远见成都中心34 分钟前
嵌入式春招笔试高频算法题(附解题思路)
算法
像污秽一样40 分钟前
算法设计与分析-习题9.1
数据结构·算法·dfs·dp·贪婪
寻见90344 分钟前
Java为什么能“一次编写,到处运行”?JVM到底解决了什么核心痛点?
java·jvm·java ee
無限進步D1 小时前
差分算法 cpp
c++·算法·蓝桥杯·竞赛
小涛不学习1 小时前
JVM 深度解析(面试 + 实战版)
jvm·面试·职场和发展
小涛不学习1 小时前
JVM 面试核心知识全解析(从原理到实战)
jvm·面试·职场和发展