Java中有四种引用:
强引用(Strong Reference):强引用是最常见的引用类型,在程序中直接通过new关键字创建对象时就是强引用。只有当该对象不再被任何强引用指向时,垃圾回收器才会回收该对象。
软引用(Soft Reference):软引用使用SoftReference类来实现,当内存不足时,垃圾回收器会回收软引用对象。软引用通常用于实现缓存功能,当内存不足时可以释放缓存对象,避免内存溢出。
弱引用(Weak Reference):弱引用使用WeakReference类来实现,垃圾回收器会在下一次回收时回收弱引用对象。弱引用通常用于解决内存泄漏问题或者实现对象的监控。
虚引用(Phantom Reference):虚引用使用PhantomReference类来实现,虚引用对对象没有实际的引用,主要用于在对象被回收前进行一些特定的操作,比如在对象被回收时通知一些相关的操作。