Java的四种引用方式是什么

技术Java的四种引用方式是什么本篇内容主要讲解“Java的四种引用方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的四种引用方式是什么”吧!1.强引用(St

本文主要讲解“引用Java的四种方式是什么”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“引用Java的四种方法是什么?”!

1.强引用(StrongReference)

使用最常见的参考。

只要参考链不断裂,强参考就不会断裂。-当内存空间不足时,抛出OutOfMemoryError将不会回收具有强引用的对象。

通过将对象设置为null来弱化引用会使其被回收。

object object=NewObject();

Stringstr=' scc

//两者都是强引用。

2.软引用(SoftReference)

对象处于有用但不必要的状态。

只有当内存空间不足时,GC才会回收被引用对象的内存。

它可以用来实现缓存——比如网页缓存和图片缓存。

//注意:wrf也是一个强引用,指向对象SoftReference。

//这里的SoftReference指的是对newString('str ')的引用,它在softreference类中是t。

SoftReferenceStringwrf=newSoftReferenceString(newString(' str '));

3.弱引用(WeakReference)

弱引用就是只要JVM垃圾回收器发现了它,就会将之回收。

不必要的对象比软引用弱。

将返回GC。

被回收的概率不大,因为GC线程优先级比较低。

适用于偶尔使用引用且不影响垃圾收集的对象的使用:

MapKey,ResourceWeakReferenceactiveEngineResources=new hashmap();

///resourcewaekrreference弱引用

4.虚引用(PhantomReference)

不会决定对象的生命周期。

垃圾收集器可以随时回收。

跟踪垃圾收集器正在收集的对象的活动,并充当哨兵。

必须与ReferenceQueue referencequeue结合使用。

当垃圾收集器准备回收一个对象时,如果它发现它仍然有一个虚拟引用,它会将该虚拟引用添加到其关联的引用队列中。

程序可以通过判断虚拟引用是否已经添加到引用队列中来知道被引用对象是否会被垃圾收集。如果程序发现虚拟引用已经被添加到引用队列中,它可以在被引用对象的内存被回收之前采取必要的操作。

object obj=NewObject();

ReferenceQueuequeue=new referencequeue();

PhantomReferenceReference=NewPhantomReference(obj,queue);

//strong引用对象为空,保留软引用。

obj=null

5.引用队列(ReferenceQueue)

没有实际的存储结构,存储逻辑依赖于内部节点之间的关系。

通过GC存储关联的软引用、弱引用和虚拟引用。

Java的四种引用方式是什么

至此,相信大家对“引用Java的四种方式是什么”有了更深的理解,所以让我们在实践中去做。这是网站。更多相关内容,可以进入相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/56684.html

(0)

相关推荐

  • 什么是分布式数据库和TIDB 整体架构

    技术什么是分布式数据库和TIDB 整体架构这篇文章给大家介绍什么是分布式数据库和TIDB 整体架构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。TIDB 是一个分布式,强一致的可水平扩展的关系型数据

    攻略 2021年12月1日
  • 杯弓蛇影的意思是,形容水中倒影的成语有哪些

    技术杯弓蛇影的意思是,形容水中倒影的成语有哪些水中倒影杯弓蛇影的意思是,并不是影子。影子是由于光的直线传播,当光线遇到不透明的物体时,在物体后面形成的黑暗区域。而水中倒影是光的反射现象,当物体射出的光线射到水面上时,被水

    生活 2021年10月27日
  • jquery浏览器怎么设置宽度(jquery设置等于浏览器的宽度)

    技术jquery如何求浏览器宽度小编给大家分享一下jquery如何求浏览器宽度,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月13日
  • css3动画图片旋转效果(css3动画的初始旋转角度)

    技术css3如何实现一个旋转的动画本篇内容介绍了“css3如何实现一个旋转的动画”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年12月16日
  • 有草有水的寓意好的字,带火的字而且寓意好的有哪些

    技术有草有水的寓意好的字,带火的字而且寓意好的有哪些“火”字旁的常用字有草有水的寓意好的字: 火(huo 4画)    灯(deng 16画)  灿(can 7画)    炀(yang 13画)  炜(wei 13画) 

    生活 2021年10月24日
  • MySQL加锁机制的验证记录是什么

    技术MySQL加锁机制的验证记录是什么本篇内容介绍了“MySQL加锁机制的验证记录是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

    攻略 2021年10月22日