强引用
默认创建的对象都属于强引用,强引用对象只有在不被任何对象引用时才会被垃圾回收器回收。哪怕虚拟机抛出OutOfMemeoryError错误,也不会回收被引用的强引用对象。
软引用
软引用是一种相对较弱的引用类型,使用SolfReference来创建对象,当内存不足时,垃圾回收器会优先回收软引用对象,以释放内存。
软引用可以作为缓存机制来使用
弱引用
弱引用是一种更弱的引用类型,使用WeakReference来创建弱引用对象。
弱引用对象无法存活到下次垃圾回收后,在垃圾回收时,即使内存充足,弱引用对象也会被清理。
虚引用
虚引用是最弱的引用类型,使用PhantomReference来创建虚引用对象。无法通过虚引用来获取对象的实例
必须与引用队列联合使用。
用途:主要用于在对象被回收时获取通知,例如实现内存敏感缓存的清理机制。