【JVM虚拟机系列】- 垃圾收集器与内存分配 浅析

前言:

本文章是JVM虚拟机系列第二篇,主要内容是虚拟机的垃圾收集器和内存分配策略。通过第一篇我们已经知道了JVM虚拟机内存管理机制以及对象在虚拟机中是如何进行操作的,那么这一篇来讲一讲虚拟机如何管理内存空间以保证其长时间正常运行。

一、垃圾收集器概述

在这里插入图片描述

二、对象是否存活

2.1 引用计数法

在这里插入图片描述

2.2 可达性分析算法

在这里插入图片描述

2.3 引用

在这里插入图片描述

2.4 判断是否存活

在这里插入图片描述

2.5 回收方法区

在这里插入图片描述

三、垃圾收集算法

(此处只讨论追踪式垃圾收集 Tracing GC)

3.1 分代理论

在这里插入图片描述

3.2 标记-清除算法

在这里插入图片描述

3.3 标记-复制算法

在这里插入图片描述

3.4 标记-整理算法

在这里插入图片描述

四、Hotspot实现算法细节

在这里插入图片描述
在这里插入图片描述

五、经典垃圾收集器

5.1 Serial收集器

在这里插入图片描述

5.2 ParNew收集器

在这里插入图片描述

5.3 ParallelScavenge收集器

在这里插入图片描述

5.4 Serial Old收集器

在这里插入图片描述

5.5 Parallel Old收集器

在这里插入图片描述

5.6 CMS收集器(Concurrent Mark Sweep)

在这里插入图片描述

5.7 Garbage First收集器(G1)

在这里插入图片描述在这里插入图片描述

六、低延迟垃圾收集器

在这里插入图片描述

七、如何选择垃圾收集器

在这里插入图片描述

八、实战之内存分配与回收策略

在这里插入图片描述

九、总结

本文章介绍了垃圾收集器算法和多种垃圾收集器的设计工作原理,各种收集器各有千秋,只有根据实际应用的需求和实现方式选择最优的收集器才能获得最好的性能。下面将进入虚拟机子系统,接下来将介绍虚拟机的类加载机制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值