Java四个引用

24 阅读1分钟

一、强引用

     new是强引用,垃圾回收器不会回收,当空间不足的时候,会抛出OutOfMemoryError错误,程序异常结束

二、软引用 SoftReference

     内存不足,才回收;内存足不回收

     可以用来实现内存敏感的告诉缓存

三、弱引用 WeakReference

     与软引用区别:拥有更短暂的生命周期。只要发生垃圾回收器线程扫描,就会被回收,不管内存是否充足

四、虚引用 PhantomReference

     任何时候都可能被垃圾回收

     需要和引用队列(ReferenceQueue)使用