`

GC回收过程

    博客分类:
  • JVM
阅读更多
Java的GC堆空间可分为年轻代(new Generation) 和年老代(old Generation), new Generation分为Eden, From, To区。其大小默认比例是8:1:1. 新的对象总是在Eden Space中被创建,当Eden区域满时,会触发Monitor GC, 这时会将仍在被使用的读写从Eden区copy到From区,然后清除Eden区;这样Eden区空了,新对象继续可在Eden中创建,当Eden再满时,触发Monitor GC把Eden和From区中仍然存活的对象copy到To区,然后清空Eden和From区;当Eden区再满时,触发Monitor GC把Eden和To区中仍然存活的对象copy到From区,然后清空Eden和To区。这样,new Generation中的对象,每熬过一次Monitor GC后仍然存活,则年龄+1岁,当他达到15岁还没有被GC,则他会升级到Old Generation中。当Old Generation区域满时,会触发Full GC, Full GC会对系统性能产生较大影响。所以,要根据系统特点,合理设置new Generation和old Generation的大小,尽量减少Full GC.
分享到:
评论

相关推荐

    gc回收机制

    GC回收机制是Java虚拟机(JVM)的核心组成部分,它极大地简化了开发过程,但也带来了一些性能上的挑战。 GC的工作原理主要分为以下几个步骤: 1. **对象分配**:当程序创建一个新的对象时,JVM会在堆内存中为这个...

    Java GC的过程

    本篇将深入探讨Java中的GC过程。 一、Java内存模型 在理解GC之前,我们先来看一下Java内存模型。Java内存主要分为三个区域:堆(Heap)、栈(Stack)和方法区(Method Area)。其中,堆是GC的主要工作区域,用于...

    java垃圾回收(gc)机制详解

    Java垃圾回收(GC)机制是Java编程语言中的一个重要特性,它自动管理程序的内存空间,负责识别并清除不再使用的对象,以防止内存泄漏。本文将深入探讨Java GC的工作原理、类型、过程以及优化策略。 一、Java垃圾...

    Java_GC垃圾回收调优指南

    在Java开发过程中,垃圾回收(Garbage Collection, GC)是管理内存资源的关键技术之一。合理的GC配置可以显著提高应用程序的性能和稳定性。本指南旨在帮助开发者深入理解Java GC的工作原理,并提供一系列调优策略与...

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

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

    java jstat 查看哪个进程频繁GC垃圾回收

    在Java应用程序运行过程中,如果发现并回收不再使用的对象,可以防止内存泄漏,确保程序稳定运行。当我们遇到应用程序性能下降或者内存消耗过快的问题时,就需要关注哪个进程在频繁进行GC操作。下面我们将详细探讨...

    GC垃圾回收机制

    GC 垃圾回收机制 GC 垃圾回收机制是 .NET 中一个复杂的机制,对于提高程序性能和减少内存泄露非常重要。CLR 垃圾回收器根据所占空间大小划分对象,大对象和小对象的处理方式有很大区别。 大对象堆和垃圾回收 在 ...

    JVM性能调优-JVM内存整理及GC回收

    《JVM性能调优-JVM内存整理及GC回收》是一份深入探讨Java虚拟机(JVM)优化的重要学习资料,特别适合对JAVA编程有经验的开发者。这份文档详细阐述了JVM性能调优的关键概念,包括JVM内存模型、垃圾回收(Garbage ...

    C#垃圾回收机制GC

    在.NET中,GC执行过程会暂停所有线程,确保内存状态的一致性。它会查找各种类型的根,包括全局变量、静态变量、栈上的局部变量、函数参数和CPU寄存器中的对象引用。通过这些根,GC构建可达对象图,进行垃圾回收和堆...

    RGW 的GC深入解析与调优

    3. 客户端执行上传操作(分块上传),上传过程中会产生一些 shadow 文件,这些上传过程中产生的临时数据也会纳入 GC 的回收。 GC 启动流程: GC 是以 thread 方式在 RGW 服务启动时候进行启动,对应的启动调用流程...

    ART运行时垃圾收集(GC)过程分析.docx

    ART 运行时垃圾收集(GC)过程分析是一个复杂的过程,它使用了 Mark-Sweep 算法进行垃圾回收。与 Dalvik 虚拟机一样,ART 运行时也使用了 Mark-Sweep 算法,但是 ART 运行时对堆的划分更加细致,因而实现了更多样的...

    Visual GC(监控垃圾回收器)

    在Java中,内存管理是由虚拟机自动进行的,当一个对象不再被引用时,系统会自动回收这部分内存,这个过程就叫做垃圾回收。垃圾回收机制对于Java应用的稳定性和性能至关重要,但同时也可能带来性能开销,如Stop-the-...

    迷你垃圾回收器mini gc for c

    在C语言中,程序员需要手动管理内存分配和释放,而垃圾回收器则可以自动化这一过程,使得程序更加健壮。 在“tinygc”源代码的研究基础上构建的迷你垃圾回收器,采用了保守的垃圾收集策略。这意味着它不依赖于特定...

    JVM性能调优-JVM内存整理及GC回收.docx

    JVM性能调优-JVM内存整理及GC回收 JVM(Java Virtual Machine)性能调优是 Java 开发者需要掌握的重要技能之一。 JVM 的性能调优主要涉及到 JVM 内存整理、垃圾回收(GC)机制等方面。 Java 中的值传递和引用传递...

    JVM性能调优-JVM内存整理及GC回收.pdf

    可达性分析清理算法通过标记-清除、复制和标记-整理三个子算法来完成垃圾回收过程。标记-清除算法会留下内存碎片,复制算法需要额外的内存空间,标记-整理算法则是前两种算法的结合体。增量收集算法是实时的垃圾回收...

    java垃圾回收(gc)机制详解.pdf

    Java垃圾回收(GC)机制是Java语言管理内存的自动化机制,它能够自动释放不再使用的内存空间,从而避免内存泄漏和程序崩溃等问题。在介绍Java GC机制之前,我们首先要了解垃圾回收的目的和意义。在任何程序中,内存...

    java基础优化编程

    - **集合数据类型优化**:对于复杂的集合结构,如数组、树等,其GC回收过程较为复杂,应谨慎使用。 - **避免强制GC**:手动触发GC会导致程序暂停,影响性能。 - **对象池**:在合适场景下使用,可提高性能,减少内存...

Global site tag (gtag.js) - Google Analytics