`

jvmJVM垃圾回收总结

jvm 
阅读更多

博客分类: java 虚拟机性能优化
JVM垃圾回收

一、垃圾回收的算法

  1、引用记数法 记录对像的引用数量
  2、标记-清除算法 会产生空间碎片
  3、复制算法 需要使用两块大小相同的内存,应用于新生代
  4、标记压缩算法 将所有存活对像压缩到内存的一端,再清理边界外所有空间,应用于老年代

二、垃圾回收的类型

  1、新生代串行收集器 特点:独占、单线程、串行,复制算法
  2、老年代串行收集器 特点:独占、单线程、串行,标记-压缩算法
  3、新生代并行收集器 特点:独占、多线程、并行,复制算法,关注系统吞吐量 
  4、老年代并行收集器 特点:独占、多线程、并行,标记-压缩算法,关注系统吞吐量 
  5、CMS(并发标记清除)收集器   特点:非独占、多线程,标记-清除算法
    工作步骤:初始标记(独占)、并发标记、重新标记(独占)、并发清理、并发重置
    CMS收集器执行过程中,出现内存不足会导致回收失败,这时JVM会启动老年代串行收集器回收
  
三、垃圾回收调优参数

  1、串行GC调优参数
    -XX:+UseSerialGC:新生代和老年代使用串行收集器
    -XX:SurvivorRatio:设置eden区和survivor区大小的比例
    -XX:PretenureSizeThreshold:设置大对像直接进入老年代的对像大小阈值
    -XX:MaxTenuringThreshold:设置对像进行老年代的年龄阈值
  2、并行GC调优参数
  
    -XX:+UseParNewGC:新生代使用并行收集器
    -XX:+UseParallelOldGC:老年代使用并行收集器
    -XX:ParallelGCThreads:设置用于垃圾回收的线程数,通常和CPU数量相等
    -XX:MaxGCPauseMillis:设置最大垃圾收集停顿时间
    -XX:GCTimeRatio:设置吞吐量的大小,是一个0~100的整数
    -XX:+UseAdaptivesSizePolicy:打开GC自适应策略

  3、CMS调优参数
  
    -XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器
    -XX:ParallelCMSThreads:设置用于CMS垃圾回收的线程数
    -XX:CMSInitiatingOccupancyFraction:设置CMS收集器在老年代空间被使用多少后触发,默认为68%
    -XX:+UseCMSCompactAtFullCollection:设置CMS收集器在完成垃圾回收后是否要进行一次内存碎片整理
    -XX:CMSFullGCsBeforeCompaction:设置进行多少次CMS垃圾回收后,进行一次内存压缩
    -XX:+CMSClassUnloadingEnabled:允许对类元数据进行回收
    -XX:+CMSParallelRemarkEnabled:启用并重新标记
分享到:
评论

相关推荐

    JVM结构+垃圾回收器+锁总结.xmind

    JVM结构+垃圾回收器+锁总结

    jvm内存和垃圾回收.xmind

    自己总结的jvm中内存和垃圾回收的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合jvm的爱好者和学习者

    JVM垃圾回收机制.xmind

    自己学习总结JVM垃圾回收机制的结构图,一起分享!!!

    JVM常用垃圾回收器的特性与使用场景.md

    该文档总结了JVM主要的七种垃圾回收器特点与区别,分别描述了他们作用于堆内存的哪些区域,采用单线程还是多线程工作方式,在运行过程中是否需要暂停其他用户工作线程。是笔者对周志明老师的《深入理解java虚拟机》...

    jvm垃圾回收机制总结

    jvm垃圾回收机制总结

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    第四节:垃圾回收算法 1.1标记清除算法 1.2复制算法 1.3 标记整理(标记压缩)算法 第五节:垃圾回收器 1.1Serial/Serial Old收集器 1.2 ParNew收集器 1.3Parallel Scavenge收集器 1.4Parallel Old收集器 1.5CMS...

    JVM调优总结

    1.4 JVM调优总结(三)-基本垃圾回收算法 9 1.5 JVM调优总结(四)-垃圾回收面临的问题 12 1.6 JVM调优总结(五)-分代垃圾回收详述1 14 1.7 JVM调优总结(六)-分代垃圾回收详述 1.8 JVM调优总结(七)-典型配置...

    JVM垃圾回收.jpg

    jvm 垃圾回收思维导图,总结了现有的垃圾回收器的有点以及使用场景、垃圾回收算法以及回收的判断依据。

    垃圾回收相关总结

    关于jvm 垃圾回收的一些日常总结,包括垃圾回收策略,默认垃圾回收策略和一些实验数据

    JVM GC问题和垃圾回收器讲解.pdf

    有关JVM垃圾回收器讲解,详细讲解了10种垃圾回收器的详细知识点,是自己面试时候自己进行总结的,费劲了心血,感谢各位的下载支持

    java垃圾回收以及jvm参数调优概述

    Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象...本文主要对java垃圾回收机制以及jvm参数等方面做个综述,也算是自己做开发这几年对这方面的一个总结。

    JVM调优总结(三)基本垃圾回收算法.pdf

    JVM调优总结(三)基本垃圾回收算法.pdf

    JVM调优总结(4)分代垃圾回收Java开发Java经验技

    JVM调优总结(4)分代垃圾回收Java开发Java经验技巧共10页.pdf.zip

    垃圾回收相关概念.xmind

    自己总结的jvm中垃圾回收相关概念的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合jvm的爱好者和学习者

    jvm内存管理和垃圾回收

    很久之前就一直在学习JVM,但是一直也没有好好的总结,最近终于有了空闲,将之前学习的内容整理成了一个PPT。 也希望大神们可以批评指正。 ppt中主要包含下面几部分: Java内存模型 内存分配策略 分代垃圾收集...

    JVM内存模型及垃圾回收

    通俗的来讲,jvm主要分为5个部分 程序计数器、虚拟机枝、本地方法枝、 Java 堆、 方法区, 引用大佬总结的概括程序计数器用于存放下一条运行的指令,虚拟机栈和本地方法栈用于存放函数调用堆栈信息, Java 堆用于...

    JVM调优总结(六)-分代垃圾回收详述2[归纳].pdf

    JVM调优总结(六)-分代垃圾回收详述2[归纳].pdf

    GC.mmap-垃圾回收算法脑图

    GC总结

    垃圾回收-GC简单总结.pdf

    前几天看到的很不错博文,就摘抄了一些,包含JVM运行时数据区,垃圾回收算法,垃圾回收器等相关的概念

Global site tag (gtag.js) - Google Analytics