Loading...

请解释一下Java中的强引用、弱引用、软引用和虚引用

强引用(Strong Reference)

这是最常见的引用类型。

只要一个对象有强引用指向它,即便是系统内存紧张,垃圾回收器也不会回收该对象。

软引用(Soft Reference)

软引用是用来描述一些还有用但是并非必需的对象,通常用于实现缓存机制,允许程序在不影响性能的情况下利用多余的内存。

系统内存不足时,垃圾回收器会对软引用指向的对象进行回收,避免内存溢出。

弱引用(Weak Reference)

弱引用是比软引用更弱的一种引用类型,常用于防止内存泄露,允许缓存的键值对在不再使用的时候自动清除。

和软引用在系统内存充足的情况下不会被回收不同的是,弱引用只要被垃圾回收器发现只有它指向某个对象时,不管系统内存是否充足,这个对象都会被回收。

虚引用(Phanton Reference)

虚引用是最弱的一种引用类型,主要就是用来跟踪对象的垃圾回收状态。

如果一个对象只有虚引用,那么这个对象随时会被垃圾回收器回收。

虚引用必须和引用队列(ReferenceQueue)配合使用,否则虚引用就毫无意义。

最后更新于 2026-04-05 17:35:33
Code Road Record