`
youyu4
  • 浏览: 440289 次
社区版块
存档分类
最新评论

JVM之垃圾回收器

 
阅读更多

JVM之垃圾回收器

 

垃圾回收器总共分四大类

 

串行垃圾回收器(Serial Garbage Collector)

  • Serial(年轻代):复制算法,单线程
  • Serial Old(老年代):标记 - 整理算法,单线程

 

并行垃圾回收器(Parallel Garbage Collector)

  • parallel(年轻代):复制算法,多线程
  • Parallel Old(老年代):标记 - 整理算法,多线程
  • ParNew(年轻代):Serial收集器的多线程版本,许多运行在Server模式下的虚拟机中首选的新生代收集器,除Serial外,只有它能与CMS收集器配合工作。

 

并发标记扫描垃圾回收器(CMS Garbage Collector)

  • CMS(老年代):标记 - 清除算法,以最短停顿时间为目标,不过会产生内存空间碎片,回收结束后要进行一次内存压缩,可配置。

 

G1垃圾回收器(G1 Garbage Collector)

  • G1(年轻代 + 老年代):标记 - 整理算法,可以非常精确控制停顿时间,在不牺牲吞吐量的前提下,实现低停顿垃圾回收。


     

 

 

 

七种垃圾回收器的比较




 

 

 

七种垃圾回收器的组合使用



 

 

 

调节新生代的三组参数

 

  • 最高优先级: -XX:NewSize=1024m和-XX:MaxNewSize=1024m
  • 次高优先级: -Xmn1024m (需要1.4以上,效果等同于:-XX:NewSize=-XX:MaxNewSize=1024m)
  • 最低优先级: -XX:NewRatio=2 ,老年代:新生代之比

 

 

备注

 

  • jvm选项中,-X选项是非标准的,不保证被所有VM实现支持,也可能在将来被改变;-XX选项是不稳定的,可能在将来被改变。
  • 使用-XX:+PrintFlagsFinal可以查看所有开启的VM选项。

 

 

参考:

《深入理解Java虚拟机 第2版》——周志明 

 

 


 

  • 大小: 31.7 KB
  • 大小: 44.1 KB
  • 大小: 34.3 KB
  • 大小: 51.9 KB
分享到:
评论

相关推荐

    JVM的垃圾回收机制详解和调优

    Java虚拟机(JVM)是Java程序运行的基础,它的核心组成部分之一就是垃圾回收(Garbage Collection,简称GC)。GC是JVM自动管理内存的主要方式,它负责识别并清理不再使用的对象,以避免内存泄漏和资源浪费。理解并...

    JVM垃圾回收机制.xmind

    自己学习总结JVM垃圾回收机制的结构图,一起分享!!!

    JVM常用垃圾回收器的特性与使用场景.md

    该文档总结了JVM主要的七种垃圾回收器特点与区别,分别描述了他们作用于堆内存的哪些区域,采用单线程还是多线程工作方式,在运行过程中是否需要暂停其他用户工作线程。是笔者对周志明老师的《深入理解java虚拟机》...

    JVM垃圾回收机制

    - 分代收集算法:这是现代JVM垃圾回收器普遍采用的一种方法,它结合了上述几种算法。新创建的对象通常放在称为“新生代”的内存区域,经过多次垃圾回收仍然存活的对象则会被移动到“老年代”。新生代采用复制算法,...

    JVM虚拟机垃圾回收机制图谱说明

    JVM虚拟机垃圾回收机制图谱说明

    JVM垃圾回收机制与GC性能调优

    Java虚拟机(JVM)的垃圾回收(GC)机制是Java程序高效运行的关键部分,它自动管理内存,释放不再使用的对象以避免内存泄漏。本文主要探讨JVM堆内存的结构和GC的工作原理,以及如何进行性能调优。 JVM堆是Java应用...

    Java+JVM+垃圾回收机制

    - **概念**: 这是最原始的垃圾回收算法之一,分为标记和清除两个阶段。 - **标记阶段**: 从根节点开始遍历所有的引用链,将所有可达的对象标记为非垃圾。 - **清除阶段**: 清除未被标记的对象所占用的空间。需要注意...

    JVM垃圾回收器和内存分配策略.zip

    Java虚拟机(JVM)是Java程序运行的基础,它的核心组成部分之一就是垃圾回收器(Garbage Collector, GC),以及内存分配策略。理解这些概念对于优化Java应用性能至关重要。本篇文章将深入探讨JVM的垃圾回收机制以及...

    JVM面试资料:JVM结构、JVM调优、四大垃圾回收算法、七大垃圾回收器

    JVM面试资料。 JVM结构:类加载器,执行引擎,本地方法接口,本地内存结构;...七大垃圾回收器:Serial、Serial Old、ParNew、CMS、Parallel、Parallel Old、G1 JVM调优:命令行指令,设置堆内存大小的参数

    jvm内存模型以及垃圾回收机制.pptx

    Java虚拟机(JVM)内存模型和垃圾回收机制是Java开发中至关重要的概念。本文将深入探讨这两个主题,帮助理解JVM如何管理...开发者应根据实际需求选择合适的垃圾回收器,并关注内存分配策略,以实现高效稳定的程序运行。

    JVM的工作原理及垃圾回收机制介绍

    ### JVM工作原理及垃圾回收机制详解 #### 一、JVM概述及原理 **1.1 JVM概述** Java Virtual Machine (JVM),即Java虚拟机,是一种虚构的计算机,在实际的计算机硬件上仿真模拟出的一套完整的计算机系统,用于执行...

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    第五节:垃圾回收器 1.1Serial/Serial Old收集器 1.2 ParNew收集器 1.3Parallel Scavenge收集器 1.4Parallel Old收集器 1.5CMS(Current Mark Sweep)收集器 1.6G1收集器 第六节:JVM参数调优 1.1 JVM重要参数介绍...

    JVM之基本的垃圾回收算法汇总

    并发收集则是在应用线程运行的同时进行GC,尽可能减少对应用性能的影响,如CMS(Concurrent Mark Sweep)和G1(Garbage-First)垃圾回收器。 7. G1垃圾回收器 G1是Oracle JDK 1.6引入的一种新的垃圾回收器,它结合...

    jvm垃圾回收机制总结

    2. ParNew GC:Serial GC的多线程版本,常与CMS(Concurrent Mark Sweep)垃圾回收器配合使用,主要负责新生代的垃圾回收。 3. Parallel GC:与ParNew类似,但适用于老年代,同样采用多线程。 4. CMS GC:并发标记...

    JVM历史发展和内存回收笔记

    6. **Java 7与G1 GC**:2011年,Java 7引入了G1(Garbage First)垃圾回收器,它是一种并行、并发且具有低延迟特性的垃圾回收器,适用于大型应用。 7. **Java 8与元空间**:2014年,Java 8中,永久代被元空间...

    JVM内存分配与垃圾回收详解

    垃圾回收器会定期地对 Java 堆中对象进行扫描,标记出不再使用的对象,并将其回收,以释放出更多的内存空间。 垃圾收集算法 垃圾收集算法是 JVM 中用于垃圾回收的算法,常见的垃圾收集算法有标记-清除算法、复制...

Global site tag (gtag.js) - Google Analytics