一、强引用
new是强引用,垃圾回收器不会回收,当空间不足的时候,会抛出OutOfMemoryError错误,程序异常结束
二、软引用 SoftReference
内存不足,才回收;内存足不回收
可以用来实现内存敏感的告诉缓存
三、弱引用 WeakReference
与软引用区别:拥有更短暂的生命周期。只要发生垃圾回收器线程扫描,就会被回收,不管内存是否充足
四、虚引用 PhantomReference
任何时候都可能被垃圾回收
需要和引用队列(ReferenceQueue)使用