1. Serial

  young generation

  “单线程”收集器,是指进行垃圾收集时,必须暂停其他所有工作线程,直到收集结束。是历史最悠久的收集器。

2. Serial Old

  tenured generation

  Serial收集器的老年代版本,用途:可与Parallel Scavenge搭配使用;作为CMS收集器的后备预案。

3. ParNew

  young generation

  是Serial收集器的多线程版本。青年代收集时不需要stop the world。

  调优参数:

    -XX:SurvivorRatio

    -XX:PretenureSizeThreshold

    -XX:HandlePromotionFailure

4. Parallel Scavenge

  young generation

  GC自适应调优算法,注重吞吐量

  调优参数:

    -XX:GCTimeRatio    垃圾收集时间站总时间的比率,吞吐量的倒数

    -XX:MaxGCPauseMillis  最大垃圾收集停顿时间

5. Parallel Old

  tenured generation

  Parallel Scavenge收集器的老年代版本,使用多线程的标记整理算法。

  在注重吞吐量以及CPU资源敏感的场合,都可使用Parallel Scavenge与Parallel Old组合

  

6. CMS

  tenured generation

  一种以获得最短回收停顿时间为目标的收集器。

    -XX:+UseConcMarkSweepGC     打开CMS

7. G1

垃圾收集器常用参数:

参数                     描述                                            
UseSerailGC  
UseParNewGC  
UseConcMarkSweepGC  
UseParallelGC  
SurvivorRatio 新生代中Eden区与Survivor区的容量比例,默认为8,Eden:Survivor=8:1
PretenureSizeThreshold 晋升至老年代对象大小,大于则在老年代分配
MaxTenuringThreshold 晋升至老年的年龄,经过一次Minor GC则加1,大于则进老年代
UseAdaptiveSizePolicy 动态调整个区域大小及进入老年代年龄
HandlePromotionFailure  
ParallelGCThreads 并行GC内存回收线程数
GCTimeRatio GC时间占总时间比率,默认99,即允许1%的GC时间。仅在Parallel Scavenge收集器生效
MaxGCPauseMillis GC最大停顿时间。仅在Parallel Scavenge收集器生效
CMSInitiatingOccupancyFraction CMS在年老代被使用多少后触发GC。默认68%,仅CMS
UseCMSCompactAtFullCollection CMS收集后是否进行内存碎片整理,仅CMS
CMSFullGCsBeforeCompaction CMS进行若干次收集后才进行内存碎片整理
   

Java-GC垃圾收集器的更多相关文章

  1. JAVA GC垃圾收集器的分析

    本篇文章主要介绍了"JAVA GC垃圾收集器的分析",主要涉及到JAVA GC垃圾收集器的分析方面的内容,对于JAVA GC垃圾收集器的分析感兴趣的同学可以参考一下.       ...

  2. java - GC垃圾收集器详解(一)

    概要 该图标记了在jdk体系中所使用到的垃圾收集器及对应的关系图.图片上方为年轻代的垃圾收集器而图片下方是老年代的垃圾收集器.当选择某一个区域的垃圾收集器时会自动选择另外一个区域的另一个垃圾收集器.例 ...

  3. java - GC垃圾收集器详解(三)

    以前收集器的特点 年轻代和老年代是各自独立且连续的内存块 年轻代收集必须使用单个eden+S0+S1进行复制算法 老年代收集扫描整个老年代区域 都是以尽可能少而快速地执行GC为设计原则 G1是什么 G ...

  4. java - GC垃圾收集器详解(二)

    CMS收集器 CMS收集器(ConcurrentMarkSweep:并发标记清除)是一种以获取最短回收停顿时间为目标的收集器. 适合应用在互联网站或者B/S系统的服务器上,这类应用尤其重视服务器的响应 ...

  5. Java虚拟机垃圾收集器与内存分配策略

    Java虚拟机垃圾收集器与内存分配策略 概述 那些内存须要回收,什么时候回收.怎样回收是GC须要完毕的3件事情. 程序计数器.虚拟机栈与本地方法栈这三个区域都是线程私有的,内存的分配与回收都具有确定性 ...

  6. [转] 深入理解Java G1垃圾收集器

    [From] https://www.cnblogs.com/ASPNET2008/p/6496481.html 深入理解Java G1垃圾收集器 本文首先简单介绍了垃圾收集的常见方式,然后再分析了G ...

  7. JVM学习笔记——GC垃圾收集器

    GC 垃圾收集器 Java 堆内存采用分代回收算法,因此 JVM 针对新生代和老年代提供了多种垃圾收集器. 1. Serial 收集器 Serial 收集器是单线程收集器,采用复制算法. 是最基本的垃 ...

  8. 深入理解 Java G1 垃圾收集器--转

    原文地址:http://blog.jobbole.com/109170/?utm_source=hao.jobbole.com&utm_medium=relatedArticle 本文首先简单 ...

  9. Java GC收集器配置说明

    根据Java GC收集器具体分类,我们可以看出JVM根据需求不同提供了三种选择:串行收集器.并行收集器.并发收集器. 串行收集器只适用于小数据量的情况,我们主要了解一下并行收集器和并发收集器.默认情况 ...

  10. 深入理解java虚拟机【Java虚拟机垃圾收集器】

    Java堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法,年老代主要使用标记-整理垃圾回收算法,因此java虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK ...

随机推荐

  1. js小功能实现

    发送随机数手机验证码60秒倒计时 mm.mobileCheck = function(t){ var mobile = $("#user_mobile").val(); if(&q ...

  2. android中Animation动画的连续播放与播放完毕后停留在最后的状态

    我们做安卓应用的苦逼程序员们常常会需要用到Animation也就是动画.比如做地图功能的时候.我们在手机旋转时需要根据手机重力感应来调整地图的角度,让它上面的“北”一直指向地球的北面...好多人做动画 ...

  3. Arduino开发版学习计划

    制定学习开发版的计划,今天先大体过一下整个教程. http://www.bilibili.com/video/av6105302/ 视频中说可以自己制造亦可卫星放上天. Arduino使用C/C++编 ...

  4. json序列化懒加载问题

    如果框架使用了json序列化对象,当配置了hibernate懒加载时,可能会抛出异常,或者出现N+1的问题,或者出现无限循环的问题.网上很多解决方案, 基本是这些:@JsonIgnore忽略可能出问题 ...

  5. /proc/iomem和/proc/ioports对应的fops

    /proc/iomem和/proc/ioports对应的fops static int __init ioresources_init(void) {     struct proc_dir_entr ...

  6. Service Mesh服务网格:是什么和为什么

    Service Mesh服务网格:是什么和为什么 - 好雨云帮 CSDN 博客 - CSDN博客 https://blog.csdn.net/zyqduron/article/details/8043 ...

  7. PHP file_get_contents和curl区别

    一.file_get_contents 1.定义 file_get_contents() 函数将指定 URL 的文件读入一个字符串并返回. 2.语法 file_get_contents(path, i ...

  8. 5.2 - ToDoList

    一.ToDoList需求 参考链接http://www.todolist.cn/ 1.将用户输入添加至待办项 2.可以对todolist进行分类(待办项和已完成组),用户勾选既将待办项分入已完成组 3 ...

  9. foo ?

    我们经常看到一些基础教程,面试题中经经常使用foo来命名,甚至有时候我们也会用过,可是你是否又知道foo是什么意思?(实际上,知道不知道又不会对你编码有不论什么影响~) 从编程黑马的王轶男的话来解释, ...

  10. cookie和session的自我介绍

    Cookie是什么? cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是 ...