NOTE
1.3 内存泄露
1. 什么是内存泄露 内存不断膨胀无法回收内存最后发生OOM,这就是内存泄漏,最后发生OOM 2. 为什么会发生内存泄露 GC没法回收被Root对象引用的内存 3. 如何解决内存泄露 关键是找到没被释放的Root对象 3.1. 资源没有释放 3.2. 线程等资源创建太多 3.3. 非GC管理的内存
这是历史学习笔记,可能存在过时或不完整的理解。
0. 版本说明(2026)
内存泄漏不要求内存必须持续增长直到 OOM。GC 语言中常见的是对象仍被意外保持可达而无法回收;资源泄漏以及非 GC 管理内存泄漏属于相关但不同的问题。
1. 什么是内存泄露
内存不断膨胀无法回收内存最后发生OOM,这就是内存泄漏,最后发生OOM
2. 为什么会发生内存泄露
GC没法回收被Root对象引用的内存
3. 如何解决内存泄露
关键是找到没被释放的Root对象