1.强引用
创建一个对象,并把这个对象赋值给一个引用变量。
String str = new String ("这是一个对象");
强引用有引用变量指向时永远不会被垃圾回收。即使内存不足的时候。
2.软引用
软引用通过SoftReference类来实现
软引用的对象当系统内存充足时和强引用没有太多区别,但内存不足时会回收软引用的对象。
3.弱引用
弱引用通过weakReference类来实现
弱引用具有很强的不确定性。因为垃圾回收每次都会回收弱引用的对象。
4.虚引用
虚引用通过PhantomRefence类实现
软引用和弱引用可以单独使用,虚引用不能单独使用,虚引用的作用是就跟踪对象被垃圾回收的状态,程序可以 通过检测与虚引用关联的虚引用队列是否已经包含了指定的虚引用,从而了解虚引用的对象是否即将被回收。