JVM几种GC的区别

JVM的GC主要有以下几种:

  • Minor GC
  • Major GC
  • Full GC

1.MinorGC

年轻代是所有新对象产生的地方,当年轻代内存空间不够用时就会触发MinorGC.

年轻代区域的内存特点:

年轻代的内存分为:Eden:From survivor:To survivor = 8:1:1

大多数新建的对象都在Eden区,当Eden区被占满时就会触发MinorGc,把存活下来的对象转移到To survivor,将From survivor清空,这样再一段时间内总会有一个survivor区是空闲的.

经过多次GC后,仍然存活下来的对象会被转移到老年代空间

2.Major GC

老年代的垃圾回收叫Major GC,Major GC通常跟Full GC是等价的,收集整个堆.

3.Full GC

Full GC是针对整个新生代,老年代,元空间(永久代)的全局范围GC.

 

Tip:  当FullGC连续三次回收内存不超过2%,会抛出内存泄露异常,比如web系统导出大文件可能会触发此情景

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值