Java的四种引用方式是什么
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本篇内容主要讲解"Java的四种引用方式是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java的四种引用方式是什么"吧!1.强引用(StrongRe
千家信息网最后更新 2024年09月22日Java的四种引用方式是什么5. 引用队列(ReferenceQueue)
本篇内容主要讲解"Java的四种引用方式是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java的四种引用方式是什么"吧!
1.强引用(StrongReference)
使用最普遍的引用。
只要引用链没有断开,强引用就不会断开。- 当内存空间不足,抛出
OutOfMemoryError
终止程序也不会回收具有强引用的对象。通过将对象设置为null来弱化引用,使其被回收
Object object = new Object();String str = "scc";//都是强引用
2.软引用(SoftReference)
对象处在有用但非必须的状态
只有当内存空间不足时, GC会回收该引用的对象的内存。
可以用来实现高速缓存(作用)--比如网页缓存、图片缓存
// 注意:wrf这个引用也是强引用,它是指向SoftReference这个对象的,// 这里的软引用指的是指向new String("str")的引用,也就是SoftReference类中TSoftReferencewrf = new SoftReference (new String("str"));
3.弱引用(WeakReference)
弱引用就是只要JVM垃圾回收器发现了它,就会将之回收。
非必须的对象,比软引用更弱一-些
GC时会被回
被回收的概率也不大,因为GC线程优先级比较低
适用于引用偶尔被使用且不影响垃圾收集的对象 使用:
MapactiveEngineResources = new HashMap<>();//ResourceWeakReference弱引用
4.虚引用(PhantomReference)
不会决定对象的生命周期
任何时候都可能被垃圾收集器回收
跟踪对象被垃圾收集器回收的活动,起哨兵作用
必须和引用队列
ReferenceQueue
联合使用
当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会把这个虚引用加入到与之 关联的引用队列中。
程序可以通过判断引用队列中是否已经加入了虚引用,来了解被引用的对象是否将要被垃圾回收。如果程序发现某个虚引用已经被加入到引用队列,那么就可以在所引用的对象的内存被回收之前采取必要的行动。
Object obj = new Object();ReferenceQueue queue = new ReferenceQueue();PhantomReference reference = new PhantomReference(obj, queue);//强引用对象滞空,保留软引用obj = null;
5. 引用队列(ReferenceQueue)
无实际存储结构,存储逻辑依赖于内部节点之间的关系来表达
存储关联的且被GC的软引用,弱引用以及虚引用
到此,相信大家对"Java的四种引用方式是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
对象
垃圾
队列
内存
方式
程序
缓存
存储
作用
内容
实际
指向
空间
回收器
收集器
关联
学习
实用
更深
必要
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
搜佛说互联网科技工作室
mc服务器必备小玩意
中源通信网络技术有限公司
佳明的服务器在哪里
软件开发技术与服务合同
电商客服聊天软件开发
我心中的网络安全1500字论文
鼎盛创美互联网科技
手机厂商手机号段数据库
杭州传橙网络技术是干嘛的
金融数据库开发需要学习哪些课
互联网科技公司的slogan
musql 数据库如何优化
h1z1切换服务器就闪退
上海直销软件开发生产过程
网页教学软件开发
网络安全教育形式及内容
茅箭区互联网软件开发技术指导
如何用数据库创建事务
优酷服务器走丢了是啥意思
联想服务器换主硬盘
知网怎么根据来源数据库分组浏览
网络技术作业代做公众号
联想服务器文件管理界面
汇盈互联网科技
粮情软件开发委托协议
医学论文投稿的数据库
金仓数据库端口多少
内燃机车网络技术
东莞市易特软件开发