GC垃圾收集器

一. 概念

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

  2. 衡量GC性能的依据:

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

二. 垃圾收集器的分类

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

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

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

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

三. 垃圾收集器详解

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

  2. 各垃圾收集器介绍

收集器算法线程
Serial复制算法单线程
ParNew复制算法多线程
Parallel Scavenge复制算法多线程
CMS标记-清除算法多线程
Serial old标记-整理算法单线程
Parallel old标记-整理算法多线程
G1标记-整理算法+复制算法多线程

四. Minor GC ,Full GC 触发条件

  1. Minor GC触发条件:当Eden区满时,触发Minor GC。

  2. Full GC触发条件:
    (1)调用System.gc时,系统建议执行Full GC,但是不必然执行
    (2)老年代空间不足
    (3)方法去空间不足
    (4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存
    (5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值