JVM垃圾收集器-对比Serial、Parallel、CMS和G1

本文详细介绍了Java 8中四种主要的垃圾收集器:Serial、Parallel、CMS和G1,包括它们的工作原理、优缺点以及适用场景。CMS收集器在并发标记与清除过程中可能导致内存碎片和晋升失败;G1收集器适用于大堆内存,减少停顿时间。Java 8还引入了String去重和移除永久代等优化。
摘要由CSDN通过智能技术生成


4个Java垃圾收集器,错误的选择会对性能影响很大

现在很多开发者仍然搞不清垃圾收集器。这一块在Java 8版本的改动也比较大,特别是去掉了PermGen永久代和带来一些新的让人激动的优化。

提到垃圾收集,大多数人在每天的编程工作中都会用到并知道这个概念。其中最大的一个误解是一位JVM只有一个垃圾收集器,事实上它有4个,每个都有自己的优点和缺点。JVM并不会自动帮你选择,决定权在你手里,不同的选择会导致应用的吞吐量(throughtput)和停顿(pause)有巨大的不同。

但这4个垃圾收集器的共同点是它们都是分代式的,这是说它们基于大多数对象的都比较短命需要快速回收的假设把堆分成不同年龄区域。很多人应该也知道这一点。这4个垃圾收集器各有什么优缺点呢?

1. 串行收集器Seiral Collector

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值