`

jvm垃圾分代回收算法

    博客分类:
  • jvm
 
阅读更多
垃圾分代回收算法(Generational Collecting)

    基于对对象生命周期分析后得出的垃圾回收算法。把对象分为年青代、年老代、 持久代,对不同生命周期的对象使用不同的算法(上述方式中的一个)进行回收。 现在的垃圾回收器(从J2SE1.2 开始)都是使用此算法的。

    1. Young(年轻代)JVM specification 中的Heap 的一部份 年轻代分三个区。一个Eden 区,两个Survivor 区。大部分对象在Eden 区中生 成。当Eden 区满时,还存活的对象将被复制到Survivor 区(两个中的一个), 当这个Survivor 区满时,此区的存活对象将被复制到另外一个Survivor 区,当 这个Survivor 去也满了的时候,从第一个Survivor 区复制过来的并且此时还存 活的对象,将被复制到年老区(Tenured)。需要注意,Survivor 的 两个区是对称的,没先后关系,所以同一个区中可能同时存在从Eden 复制过来 对象,和从前一个Survivor 复制过来的对象,而复制到年老区的只有从第一个Survivor 去过来的对象。而且,Survivor 区总有一个是空的。

    2. Tenured(年老代)JVM specification 中的Heap 的一部份 年老代存放从年轻代存活的对象。一般来说年老代存放的都是生命期较长的对
象。

    3. Perm(持久代) JVM specification 中的Method area 用于存放静态文件,如今Java 类、方法等。持久代对垃圾回收没有显著影响, 但是有些应用可能动态生成或者调用一些class,例如Hibernate 等,在这种时 候需要设置一个比较大的持久代空间来存放这些运行过程中新增的类。持久代大 小通过-XX:MaxPermSize=进行设置。
分享到:
评论

相关推荐

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

    四大垃圾回收算法:复制算法、标记-清除算法、标记-整理算法、分代收集算法 七大垃圾回收器:Serial、Serial Old、ParNew、CMS、Parallel、Parallel Old、G1 JVM调优:命令行指令,设置堆内存大小的参数

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

    这篇博客将探讨JVM中的基本垃圾回收算法,帮助我们更好地理解JVM内存管理的原理。 1. 标记-清除(Mark-Sweep)算法 这是最早的垃圾回收算法之一。它分为两个阶段:标记和清除。首先,从根节点开始遍历所有可达对象...

    JVM垃圾回收机制

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

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

    2. **垃圾回收算法**: - **标记-清除(Mark-Sweep)**:首先标记出所有活动对象,然后清除未标记的对象。缺点是容易产生内存碎片。 - **复制(Copying)**:将内存分为两块,每次只使用一块,当一块用完后,将...

    详解JVM的垃圾回收算法来做细节.docx

    《详解JVM的垃圾回收算法》 垃圾回收是Java虚拟机(JVM)管理内存的重要机制,它自动识别并清理不再使用的对象,以避免内存泄漏。本文将深入探讨JVM的垃圾回收算法及其细节,包括可达性分析、根节点枚举、安全点、...

    JVM的垃圾回收算法工作原理详解

    堆内存分代策略是JVM垃圾回收算法工作原理中非常重要的一部分。Java虚拟机将堆内存划分为新生代、老年代和永久代。新生代主要存放新生成的对象,新生代对象朝生夕死,存活率很低,在新生代中,常规应用进行一次垃圾...

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

    垃圾收集算法是 JVM 中用于垃圾回收的算法,常见的垃圾收集算法有标记-清除算法、复制算法、标记-压缩算法、分代收集算法等。 总结 本文对 JVM 内存分配与垃圾回收进行了详细的解释,包括 JVM 运行时数据区域、...

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

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

    垃圾回收系列(3):CLR与JVM垃圾回收器的比较扫描.pdf

    在本篇文章中,我们将对比CLR和JVM的垃圾回收机制,从分代机制、回收模式、回收算法到查找存活对象的技术,深入探究它们之间的异同。 分代式垃圾回收是CLR和JVM的共同策略。该策略基于“弱代假设”,即大多数对象的...

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

    二、垃圾回收算法 1. 标记-清除(Mark-Sweep):标记所有可达对象,然后清除不可达对象。缺点是容易产生碎片。 2. 复制(Copying):将内存分为两块,每次只使用一块,当一块满时,将存活对象复制到另一块,然后...

    JVM垃圾回收原理

    ### JVM垃圾回收原理详解 #### 一、相关概念与基本回收算法 在深入探讨JVM垃圾回收机制之前,我们先了解几个重要的概念及其工作原理。 ##### 1. 引用计数(Reference Counting) 引用计数是一种较为古老且简单的...

    JVM调优总结(三)基本垃圾回收算法.pdf

    JVM垃圾回收算法总结 垃圾回收算法是Java虚拟机(JVM)中的一种机制,用于回收无用的对象以释放内存空间。垃圾回收算法可以从不同的角度划分,下面是常见的垃圾回收算法: 1. 引用计数(Reference Counting) ...

    JVM 内存分代、垃圾回收漫谈.docx

    垃圾回收算法主要有三种基本类型: 1. 标记-清除算法:首先标记出需要回收的对象,然后统一回收。此算法效率低且会产生内存碎片。 2. 复制算法:将内存分为两等份,每次只使用一份,对象存活则复制到另一份,回收原...

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

    ### JVM工作原理及垃圾回收机制详解 ...此外,了解不同的垃圾回收算法可以帮助我们选择合适的JVM参数,从而提高系统的整体性能。推荐阅读《深入理解Java虚拟机》这本书,以便更深入地学习和掌握JVM的相关知识。

    JVM参数调优、垃圾回收算法及原理体系.docx

    总之,理解JVM参数调优和垃圾回收算法原理是提高Java应用性能的关键。通过合理的配置,可以有效避免内存溢出、性能瓶颈等问题,保证系统的稳定运行。在实践中,应不断学习和调整,以适应不断变化的应用场景和需求。

    JVM内存管理和JVM垃圾回收

    Java虚拟机(JVM)内存管理和垃圾回收是Java编程中至关重要的概念,它们直接影响着程序的性能和稳定性。本文将详细解析JVM内存结构以及垃圾回收机制。 首先,JVM内存主要分为四个区域: 1. **堆(Heap)**:这是...

    JVM内存模型以及垃圾回收相关资料

    JVM内存模型与垃圾回收是...总的来说,理解JVM内存模型和垃圾回收机制对于优化Java应用性能至关重要,它涉及到内存分配策略、垃圾收集算法的选择以及内存参数的调整,这些都需要开发者具备深入的JVM知识和实践经验。

    JVM 垃圾回收(GC)

    理解JVM垃圾回收机制对于优化Java应用性能至关重要。 1. **垃圾回收的基本概念** - **对象生命周期**:在Java中,对象的生命周期包括创建、使用和销毁。当对象不再被引用时,就被认为是“垃圾”。 - **垃圾回收器...

Global site tag (gtag.js) - Google Analytics