内存回收的具体实现。
停顿时间越短就越适合需要与用户交互的程序,良好的响应速度能提升用户的体验;而高吞吐量则可以最高效率的利用CPU时间,尽快的完成程序的运算任务,主要适合在后台运算而不需要太多交互的任务。
GC停顿时间缩短是以牺牲吞吐量和新生代空间来换取的:系统把新生代调小一些,收集100MB的新生代肯定比收集1000MB的新生代快,这也直接导致垃圾收集器发生的更频繁,原来10秒收集一次,每次停顿100毫秒,现在5秒收集一次,每次停顿70毫秒,停顿时间在下降,但吞吐量也下降了。
HotSopt JVM1.6中垃圾收集器的结构图
如果2个收集器之间存在连线,说明他们可以搭配使用。
Serial收集器
新生代收集器,“stop the word”,单线程收集器。适合client,而且对于收集几十M内存来说停顿极短,尤为高效使用。不存在多线程上下文切换的浪费。
ParNew收集器
新生代收集器,是Serial收集器的多线程版本的并行收集器。但也是“stop the word”。在server上多CPU环境的首选的新生代收集器。
Parallel Scavenge收集器
新生代收集器,并行的多线程收集器。该收集器目标是提高吞吐量。也叫吞吐量优先收集器。同时支持自适应策略。
Serial Old收集器
年老代收集器,是Serial收集器的年老代版本。使单线程和标记-整理算法。同理更适用于client的单CPU单线程的模式。
Parallel Old收集器
年老代收集器,是Parallel Scavenge收集器的年老代版本。使用多线程和标记-整理算法。主要是服务端模式下和Parallel Scavenge收集器组合使用。
CMS收集器(Current Mark Sweep)
年老代收集器,是一种以获取最短回收停顿时间为目标的收集器。尤其重视服务的响应速度。基于标记-清除算法实现。由于收集完成后会产生碎片,所以要开启 -XXUseCMSCompactAtFullCollection开关参数,用于在Full GC之后,进行一次碎片整理。内存整理的时候无法并发的。
他运作分为4个阶段
1 初始标记
2 并发标记
3 重新标记
4 并发清除
他的主要有点:并发收集、低停顿
缺点:
对CPU资源非常敏感
无法处理浮动垃圾
收集结束后会产生大量的空间碎片
G1收集器(Garbage First)
与CMS算法相比,有2个显著的改进。
1 基于标记-整理算法。
2 非常精确的控制停顿
G1将整个JAVA堆(包括新生代、老年代)划分为多个固定大小的独立区域,并跟踪垃圾堆积程度,在后台维护一个优先列表,每次根据允许的收集时间,有限回收垃圾最多的区域。
附录
并行(Parallel):多线程垃圾收集器工作的时候,停止用户工作。
并发(Concurrent):用户线程和垃圾收集器同时工作。
- 大小: 50.1 KB
- 大小: 32 KB
- 大小: 35.9 KB
- 大小: 32.1 KB
- 大小: 36.5 KB
- 大小: 41.7 KB
分享到:
相关推荐
本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM调优,思路清晰,没有废话,旨在挑战高薪。 课程亮点: 1、基于阿里arthas进行JVM调优; 2、基于代码排查OOM问题,拒绝空讲; 3、总结JVM通用的调优思路;...
深入理解JVM垃圾收集算法与垃圾收集器
(二)MATJVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.(二)MATJVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.
MAT JVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.
jvm内存反洗工具:
mat用于分析JVM的内存dump信息,是在JVM内存异常时进行内存分析的好工具
JVM初探- 内存分配、GC原理与垃圾收集器,从从提上讲解了jvm中GC的原理、基本的算法和针对不同内存区使用的算法,同时,详细的讲解了当前主要使用的垃圾收集器
1.jvm内存结构及功能概述 2.Jvm Heap 内存结构 3.Jvm 的内存分配
个人整理 jvm相关知识 包括内存分配机制 垃圾回收机制 垃圾收集器相关 及 垃圾收集算法
(三)MATJVM 内存分析工具.MAT JVM 内存分析工具(三)MATJVM 内存分析工具.MAT JVM 内存分析工具
JVM内存dump分析工具MAT独立安装包,分析内存溢出利器,可以准确定位内存异常原因,解决问题,MemoryAnalyzer-1.10.0.20200225.zip
idea插件JVM内存工具JProfiler11,下载完,即可导入idea,可idea快捷打开使用。
认识JVM内存优化, 避免最大的误区:认为JVM内存越大越好。看到一个线程 blocked就认为阻塞了。
垃圾回收器与JVM性能监控工具介绍垃圾回收器与JVM性能监控工具介绍ppt。
主要是JVM内存分配及简单的JVM性能调优
ibm HeapAnalyzer JVM内存分析工具 ha457.jar下载
前段时间做JVM调优网上搜集的一些资料,里面有图形化讲解JVM内存使用和各个参数详细介绍等
JVM内存模型以及垃圾收集策略解析 可以深入了解java虚拟机的原理
直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景。
包含7种JVM垃圾收集器 详细对比7种垃圾收集器优缺点 全面讲解JVM垃圾收集器