浅谈下JVM堆的内存结构和GC回收流程

快来打我* 2024-03-22 13:54 158阅读 0赞

前言

我们在Java面试中,只要是2年以上经验,一定会问你一下关于JVM方面的问题。开发两年时间不能对JVM没有了解,如果你还不了解,说明你的学习与探索能力不高,不能给到应有的加分项哦!小编也是最近刚刚开始学习,总结一下最近的学习成果。方便以后看,也希望小伙伴们看到可以帮助到您!

JVM堆内存结构简述

JVM堆内存结构图

format_png

堆初体验

所有的对象实例以及数组都要在堆上分配,堆是垃圾收集器管理的主要区域,也被称为“GC 堆”,也是我们优化最多考虑的地方。因为在一个项目中,会不断地创建对象,都是在堆里创建,如果一直不回收就会导致OOM,我们听的最多的情况哈!还有经常说的JVM调优,也是对进行参数优化配置,达到最接近理想状态。

结构详情

新生代

大部分刚创建的对象首先都是放在年轻代,新生代内存按照 8:1:1 的比例分为一个 Eden 和两个 Survivor(Survivor from,Survivor to)。

1. Eden 空间

Eden空间:主要是存放刚刚创建的新对象,如果

发表评论

表情:
评论列表 (有 0 条评论,158人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JVM内存GC回收

    JVM体系结构概述 1)、简述 JVM——操作系统——硬件体系 PS:安卓(jvm+linux内核) Classfile——类装载子系统(入口)——运行时数

    相关 JVMGC回收次数

    GC回收次数 减少GC次数,可以提高性能 GC占用系统资源 减少系统资源的占用,可以提高系统性能 GC停顿现象 减少应用程序停顿,可以提高系统性能 当非常空