4、堆内存解析

4、堆内存解析图片来源 B 站 UID 堆分为年轻代和老年代 分别占三分之一和三分之二 年轻代分为两个区尹甸园区与 survivor 区 Ava 当尹甸园区有很多对象放不下时 Java 会的字节码会开启一个垃圾收集线程 minor gc 来收集内存区域的垃圾对象 垃圾收集用可达性分析算法

大家好,我是讯享网,很高兴认识大家。

图片来源B站,UID

堆分为年轻代和老年代,分别占三分之一和三分之二。

年轻代分为两个区尹甸园区与survivor区Ava
当尹甸园区有很多对象放不下时,Java会的字节码会开启一个垃圾收集线程(minor gc),来收集内存区域的垃圾对象。在这里插入图片描述

  1. 垃圾收集用可达性分析算法。判断出垃圾和非垃圾,将非垃圾放到Survivor区经历一次minor gc,就会加一代,等到15代,还没有被回收,移动到老年代区域。
  2. 另外在前面survivor区移动的对象,比如从survivor-1移动survivor-2区,2区放不下,一部分对象直接被移动到老年代区。将尹甸园区的垃圾对象清空。放新对象。
  3. 当老年代内存满了以后,不是马上内存溢出,做一次full gc。如果老年代区域依然满了,出现内存溢出(OOM)
    在这里插入图片描述
  • 调优工具
    jvisualvm
    Arthas
小讯
上一篇 2025-01-14 11:34
下一篇 2025-01-10 22:02

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/23015.html