GC

孤者浪人 提交于 2020-01-28 12:12:14

一. 概念

  1. 简介:GC(Garbage Collection,垃圾收集器)就是JVM中自动内存管理机制的具体实现。主要负责内存的动态分配和垃圾回收。

  2. 衡量GC性能的依据:

    ·吞吐量:吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间)
    ·垃圾收集开销:吞吐量的补数,垃圾收集开销=垃圾收集时间/(运行用户代码时间+垃圾收集时间)
    ·暂停时间:执行垃圾收集时,程序的工作线程被暂停的时间
    ·收集频率:收集操作发生的频率
    ·堆空间:Java堆区所占的内存大小
    ·快速:一个对象从诞生到被回收所经历的时间
    

二. 垃圾收集器的分类

  1. 按照线程数,可分为:
    ·串行垃圾回收器
    ·并行垃圾回收器

  2. 按照工作模式,可分为:
    ·并发垃圾回收器
    ·独占式垃圾回收器

  3. 按照碎片方式,可分为:
    ·压缩式垃圾回收器
    ·非压缩式垃圾回收器

  4. 按照工作的内存区间,可分为:
    ·年轻代垃圾回收器
    ·老年代垃圾回收器

三. 垃圾收集器详解

  1. 各垃圾收集器名称及其工作的内存区间
    在这里插入图片描述
    直接连线的垃圾收集器代表可组合使用

  2. 各垃圾收集器介绍

收集器 算法 线程
Serial 复制算法 单线程
ParNew 复制算法 多线程
Parallel Scavenge 复制算法 多线程
CMS 标记-清除算法 多线程
Serial old 标记-整理算法 单线程
Parallel old 标记-整理算法 多线程
G1 标记-整理算法+复制算法 多线程
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!