java常见的引用类型
时间: 2024-07-03 13:00:42 浏览: 103
Java中的引用类型是指那些存储对象地址的变量,它们用来间接访问和操作内存中的对象。Java中有几种常见的引用类型:
1. **基本引用类型**(也称为原始引用类型):
- **String**: 字符串引用,用于表示文本数据,实际上是一个指向字符数组的引用。
- **Class**: 类引用,存储的是一个类或接口的全限定名。
2. **强引用**(Strong Reference):
- **Object**: 对于所有非数组类型的引用,包括所有类、接口和数组。
- **Thread**: 线程引用,用于引用线程对象。
3. **软引用**(Soft Reference):
- Java提供SoftReference类,主要用于内存紧张时回收的对象,当系统内存不足时会被回收。
4. **弱引用**(Weak Reference):
- WeakReference类,与SoftReference类似,但当JVM垃圾收集器认为没有其他强引用指向弱引用所指向的对象时,会回收该对象。
- WeakHashMap就是使用弱引用作为键的哈希表,不会阻止被引用对象的垃圾回收。
5. **虚引用**(Phantom Reference):
- PhantomReference类,是最轻量级的引用类型,通常用于检测被Finalizer清理的对象,但无法阻止其被回收。
相关问题:
1. 弱引用和软引用有什么区别?
2. 软引用在什么情况下会被回收?
3. 使用虚引用的主要场景是什么?
阅读全文