java中强软弱虚引用
时间: 2024-05-04 19:14:32 浏览: 92
在Java中,引用是一种用于操作对象的机制。强引用、软引用、弱引用和虚引用是Java中四种不同类型的引用。
1. 强引用(Strong Reference):强引用是最常见的引用类型,它可以直接访问对象。如果一个对象具有强引用,即使内存不足时也不会被垃圾回收器回收。例如:
```
Object obj = new Object();
```
2. 软引用(Soft Reference):软引用是一种相对强引用弱化了一些的引用类型。如果一个对象只有软引用,当内存不足时,垃圾回收器可能会回收该对象。软引用可以通过SoftReference类来创建。例如:
```
SoftReference<Object> softRef = new SoftReference<>(new Object());
```
3. 弱引用(Weak Reference):弱引用比软引用更弱化,当垃圾回收器运行时,无论内存是否充足,都会回收只有弱引用的对象。弱引用可以通过WeakReference类来创建。例如:
```
WeakReference<Object> weakRef = new WeakReference<>(new Object());
```
4. 虚引用(Phantom Reference):虚引用是最弱化的引用类型,它几乎没有直接访问对象的能力。虚引用主要用于跟踪对象被垃圾回收器回收的活动。虚引用可以通过PhantomReference类来创建。例如:
```
PhantomReference<Object> phantomRef = new PhantomReference<>(new Object(), referenceQueue);
```
阅读全文