7个垃圾收集器--深入理解JVM内存结构,熟练GC垃圾回收机制,可以进行简单的JVM调优

本文深入探讨了JVM的内存结构和垃圾收集机制,包括Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old、CMS和G1等收集器的特性与应用场景。通过理解这些收集器,可以更好地进行JVM调优,以满足不同性能需求。
摘要由CSDN通过智能技术生成

目录

介绍

参数预先声明

新生代GC之Serial收集器

新生代GC之ParNew收集器​编辑

新生代GC之Parallel收集器​编辑

老年代ParallelOld收集器

老年代SerialOld收集器

老年代CMS收集器​编辑

选择合适的垃圾收集器

介绍

1. Serial串行单线程标记复制: 是一种单线程垃圾回收器,使用标记复制算法进行新生代垃圾回收。它适用于简单的应用程序。

2. ParNew多核多线程标记复制: 是Serial的多线程版本,也使用标记复制算法进行新生代垃圾回收。它适用于多核CPU的系统。

3. Parallel Scavenge并行标记复制: 是一种使用标记复制算法的并行垃圾回收器适用于大内存应用程序。它的特点是在垃圾回收时尽可能地利用CPU资源,以达到更高的吞吐量(并行)

4. CMS (Concurrent Mark Sweep)并发标记清除: 是一种使用标记-清除算法的并发垃圾回收器(时间效率高),适用于需要短暂停顿时间的应用程序。它的特点是在垃圾回收时尽可能减少应用程序的停顿时间

5. Serial Old单线程标记整理: 是一种单线程垃圾回收器,使用标记-整理算法进行老年代垃圾回收(会有许多的连续的空间腾出来)。它适用于内存较小的设备和简单的应用程序(单线程)。

6. Parallel Old并行标记整理: 是一种使用标记-整理算法的并行垃圾回收器,适用于大内存应用程序。它的特点是在垃圾回收时尽可能地利用CPU资源,以达到更高的吞吐量。

7. G1 (Garbage First)分代收集算法: 是一种使用分代收集算法的垃圾回收器,适用于大内存应用程序。它的特点是将堆内存划分为多个区域,分别进行垃圾回收。在垃圾回收时,它会优先回收垃圾最多的区域,以达到更高的吞吐量和更短的停顿时间。程序要运行就并发,程序不运行就并行。

参数预先声明

DefNew

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值