美文网首页
内存泄露原理

内存泄露原理

作者: 潇萧之炎 | 来源:发表于2022-02-11 17:25 被阅读0次

一、四大引用

强:直到oom都不会回收

软:gc扫到后 不一定回收,内存不足

弱:gc扫到后就回收,与引用队列绑定使用(WeakReference、ReferenceQueue)

二、LeakCanery原理

三个列表:引用列表、观察列表、怀疑列表

初始状态:

[图片上传失败...(image-891a11-1644571631013)]

没泄露:引用队列不为空,移除观察列表

[图片上传失败...(image-ec468e-1644571631013)]

泄露了:引用队列为空

[图片上传失败...(image-13f9d8-1644571631013)]

LeakCanery原理:

[ image

内存泄露.mp4
14.9 MB](https://app.yinxiang.com/shard/s27/res/60b799b9-c8f8-49f1-ab5f-55873d1b3425/%E5%86%85%E5%AD%98%E6%B3%84%E9%9C%B2.mp4)

三、GcRoot、可达性分析

GCroot不可以回收

[图片上传失败...(image-bf3103-1644571631012)] [图片上传失败...(image-b1db73-1644571631013)]

相关文章

  • 内存泄露原理

    一、四大引用 强:直到oom都不会回收 软:gc扫到后 不一定回收,内存不足 弱:gc扫到后就回收,与引用队列绑定...

  • 人生苦短,我学java之内存泄露

    本文详细地介绍了Java内存管理的原理,以及内存泄露产生的原因,同时提供了一些列解决Java内存泄露的方案,希望对...

  • 内存泄露系列文章(一) - 内存泄露原因及影响

    前言 内存泄露系列文章内存泄露系列文章(一) - 内存泄露原因及影响内存泄露系列文章(二) - 内存泄露监测及分析...

  • 内存泄露系列文章(三) - 内存泄露解决方案

    前言 内存泄露系列文章内存泄露系列文章(一) - 内存泄露原因及影响内存泄露系列文章(二) - 内存泄露监测及分析...

  • 【内存】

    性能优化->虚拟机原理 怎么分析堆内存 内存泄露和内存溢出的原因 怎么做内存管理 JVM类加载机制Java内存区域...

  • 内存溢出与内存泄露

    目录 [TOC] 1 内存泄露与内存溢出的区别 1.1 内存泄露 内存泄露(Memory Leak),指的是堆内存...

  • 内存泄漏详细分析

    首先,什么是内存泄露?经常听人谈起内存泄露,但要问什么是内存泄露,没几个说得清楚。内存泄露是指无用对象(不再使用的...

  • LeakCanary内存泄露检测原理

    LeakCanary代码量比较多,阅读源码容易把人绕晕,提取主干代码,精简后的代码只有200行,看完这200行代码...

  • Java弱引用学习 WeakHashMap、ReferenceQ

    上一篇文章 Java内存泄露学习 ThreadLocal真的会内存泄露吗 提到ThreadLocal内存泄露的问题...

  • 内存优化

    内存优化主要是分析内存泄露和内存溢出。将从内存是怎么分配,内存怎么出现泄露和溢出,用工具判断什么情况出现泄露,找出...

网友评论

      本文标题:内存泄露原理

      本文链接:https://www.haomeiwen.com/subject/nfczkrtx.html