对象的引用
1 引用方式有四种:强引用、软引用、弱引用、虚引用
2 强引用(StrongReference)
--最常见的引用方式,程序创建一个对象并赋给一个引用变量,这就是一个强引用
3 软引用(SoftReference)
--通过java.lang.ref包下的SoftReference类实现
--eg: String str = new String("软引用测试"); //创建string对象
SoftReference sr = new SoftReference(str); //创建一个软引用指向上面的string对象
--只有软引用的对象有可能被垃圾回收机制回收,当且仅当系统内从空间不足时,但是不一定立即回收
--软引用用于对内存敏感的程序中
4 弱引用(WeakReference)
--通过java.lang.ref包下的WeakReference类实现
--eg:同软引用
--只有弱引用的对象会被垃圾回收机制回收,不管系统的空间充不充足都会回收,但是不一定立即回收
5 虚引用(PhantomReference)
--通过java.lang.ref包下的PhantomReference类实现
--eg:同软引用
--主要用于跟踪对象被垃圾回收的状态
--不能单独使用,需要和引用队列(ReferenceQueue )联合使用