Java中有哪些引用方式
1. 强引用
强引用是最常见的引用方式,在Java中使用最为广泛。当一个对象具有强引用时,即使系统内存不足时也不会被垃圾回收器回收,只有当所有对该对象的强引用都被取消或者超出作用范围时,垃圾回收器才会将其回收。
// 声明一个强引用
String str = new String("Hello World");2. 软引用
软引用是一种相对强引用弱化了的引用方式,如果内存充足,垃圾回收器不会回收被软引用关联的对象,只有当内存不足时,垃圾回收器会将其回收。
// 声明一个软引用
SoftReference softRef = new SoftReference("Hello World"); 3. 弱引用
弱引用是一种比软引用还要弱化的引用方式,在垃圾回收器进行回收时,不论内存是否足够都会回收被弱引用关联的对象。
// 声明一个弱引用
WeakReference weakRef = new WeakReference("Hello World"); 4. 虚引用(幽灵引用)
虚引用是一种最弱化的引用方式,无法通过虚引用来获取被引用的对象。虚引用主要用于判断对象是否被垃圾回收器回收,当虚引用被回收时,会在ReferenceQueue中放入一个通知,通过对ReferenceQueue的监控可以在对象被回收之后做一些必要的清理操作。
// 声明一个虚引用
ReferenceQueue referenceQueue = new ReferenceQueue<>();
PhantomReference phantomRef = new PhantomReference("Hello World", referenceQueue); 上一篇
如何使用docker网络 猜您想看
-
CenterNet中怎么利用deepsort实现多目标由于OO由于OOM导致锁没有释放的定位问题是怎么就觉得
利用DeepS...
2023年05月26日 -
Ubuntu项目汇报常用的录屏、截图、Gif软件是什么
Ubuntu是...
2023年07月20日 -
如何在Linux系统中进行DNS配置
Linu...
2023年05月10日 -
如何在Windows系统中查看网络本地 IP 地址
Windows...
2023年05月12日 -
Gradle如何发布jar包到Maven本地仓库
1、什么是Ma...
2023年05月26日 -
网易云音乐是如何推荐你喜欢的音乐呢?关于推荐的背后,网易音乐带你一探究竟
网易云音乐的推...
2023年05月15日