![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GC
初心江湖路
多学一分增一分。
展开
-
细数G1GC
G1GC相当复杂,一篇文章的话很难说清楚,并且长篇冗杂,难读。本文旨在将G1GC中的部分点Get到,也很难全面,如果错误,请帮忙指正,多谢。一、G1GC的目的针对服务器应用(大heap内存、多核)进行垃圾收集,为了同时兼顾吞吐量和停顿时间而生。二、特点分区、分代、适用多核大heap内存、高吞吐、低停顿三、如何实现对吞吐量和停顿时间的兼顾1、技术手段1)region划分将整个he...原创 2019-12-06 16:41:55 · 346 阅读 · 0 评论 -
Java应用怎么选择使用哪种GC
1、收集器的类型(1)、串行收集器,使用单线程执行全部垃圾回收工作(2)、并行收集器,使用多线程并行执行垃圾回收工作(3)、并发收集器,垃圾回收工作中大多数部分执行时是和应用程序并发执行2、各自适用的场景(1)对于串行收集器,专门针对单处理器小数据应用,因为没有线程间通信(同步)开销,因而其效率高。(2)对于并行收集器,minor垃圾收集使用多线程并行收集,人多力量大,所以很大程度上能...原创 2019-12-03 20:35:47 · 636 阅读 · 0 评论 -
JVM使用GC分代收集的原由
一、首先看两个衡量GC性能的指标1、吞吐量该指标表示程序占用CPU执行的时间(包含分配内存的时间,不包括GC时间)占总时间的百分比。2、停顿时间该指标表示程序不响应的时间(正在进行垃圾回收)。吞吐量越大而停顿时间越小,表示GC性能越好。对于不同的应用有不同的需求,例如对于很多web应用来说,停顿时间太长会使用户明显感觉到卡顿,很影响用户体验。二、于是,通常通过调整以下参数来获得需要的...原创 2019-12-02 21:00:48 · 149 阅读 · 0 评论 -
HotSpot虚拟机GC简单总结
具体的GC相关文章网络上很多,这里不去重复。本文简要总结GC算法和回收器。一、GC算法1、标记-清除给对象做标记,进行标记后每个对象对应一个状态,死亡、存活。标记完成后将标记为死亡的对象清除。2、标记-整理和标记-清除相比多一个步骤,将标记为死亡的对象清除后,还要将存活的对象整理到一起(逻辑空间连续)。3、复制空间被分成两个部分,只使用其中一个部分进行对象分配。当用来存储新对象的空...原创 2019-09-11 23:47:47 · 325 阅读 · 0 评论