目录
一、强引用
在Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引
用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使
该对象以后永远都不会被用到 JVM 也不会回收。因此强引用是造成 Java 内存泄漏的主要原因
之一。
例如:A a=new A();
二、软引用
使用关键字SortReference修饰,当内存足够时不会被回收,当内存不够时会被优先回收,使
用软引用的场景一般表示当前对象是可有可无的,例如可使用弱引用实现内存敏感的高速缓存。
三、弱引用
使用WeekReference修饰,只要垃圾回收器一执行,该对象就会被回收,完全不care内存是否
足够。
四、虚引用
引用需要 PhantomReference 类来实现,它不能单独使用,必须和引用队列联合使用。引用的主要
作用是跟踪对象被垃圾回收的状态。