Java 引用分为4中, 强引用 就是 new 一个对象。软引用,弱引用,虚引用
1,强引用 在这里就不多说了。
特点:
1.1 引用可直接访问目标对象。
1.2 强引用所指向的对象 在任何时候都不会被JVM 回收,JVM 宁愿抛出 OOM
1.3 强引用 可能会造成内存泄露
2, 软引用 Soft Reference
特点:
2.1 仅次于 强引用的 引用
2.2 只有在 JVM 内存不够用的时候 GC 才能回收,在内存充足的时候 进行GC 是不会收回的
3,虚引用 weak Reference
3.2 引用强度 仅次于 软引用
3.3 只 JVM 进行 GC 的操作 就会回收内存
4,虚引用 phantom Reference
4.1 虚引用 就是没用引用 get()方法获取到的是null
4.2 主要用老跟踪内存的回收 情况,必须与引用队列一起使用
都会在销毁的时候加入到用用队列