堆内存回收
| 一.引用计数法 | 有用到引用则+1, 取消引用则-1 |
|---|---|
日志显示 -verbose |
|
二.可达性分析 GC Root引用
|
|
GC Root引用 强引用不可回收 |
Synchronized(sth.class) |
软引用: 内存紧张时回收 GC Root会强引用 SoftReference类, SoftReference类 来软引用我们的目标 |
============== 软引用队列:用来接收被垃圾回收器回收的引用对象。
当创建软引用的时候,会创建一个引用队列。 当内存不足的时候,会将软引用对应的对象数据删掉, 然后再把软引用放到队列里面。
============== 软引用缓存自动回收机制
|
| 弱引用 | ![]() |
| 虚引用和终结器 | ![]() |
引用对比: 软引用:我能活尽量活; 弱引用:下次 GC 我就走; 虚引用:我走了记得收尸; 终结器引用:我死前乱叫一声。 |
![]() |










