广告
返回顶部
首页 > 资讯 > 精选 >Java的四种引用方式是什么
  • 792
分享到

Java的四种引用方式是什么

2023-06-25 11:06:15 792人浏览 八月长安
摘要

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

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

1.强引用(StrongReference)

  • 使用最普遍的引用。

  • 只要引用链没有断开,强引用就不会断开。- 当内存空间不足,抛出OutOfMemoryError终止程序也不会回收具有强引用的对象。

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

Object object = new Object();String str = "scc";//都是强引用

2.软引用(SoftReference)

  • 对象处在有用但非必须的状态

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

  • 可以用来实现高速缓存(作用)--比如网页缓存、图片缓存

// 注意:wrf这个引用也是强引用,它是指向SoftReference这个对象的,// 这里的软引用指的是指向new String("str")的引用,也就是SoftReference类中TSoftReference<String> wrf = new SoftReference<String>(new String("str"));

3.弱引用(WeakReference)

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

  • 非必须的对象,比软引用更弱一-些

  • GC时会被回

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

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

Map<Key, ResourceWeakReference> activeEngineResources = 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的四种引用方式是什么

到此,相信大家对“Java的四种引用方式是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java的四种引用方式是什么

本文链接: https://www.lsjlt.com/news/304287.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java的四种引用方式是什么
    本篇内容主要讲解“Java的四种引用方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的四种引用方式是什么”吧!1.强引用(StrongReference)使用最普遍的引用。只要引...
    99+
    2023-06-25
  • Java的四种引用方式
    目录1.强引用(StrongReference)2.软引用(SoftReference)3.弱引用(WeakReference)4.虚引用(PhantomReference)5.&n...
    99+
    2022-11-12
  • Java的四种引用是什么
    这篇文章将为大家详细讲解有关Java的四种引用是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java的四种引用,用到的场景强引用:垃圾回收器不会回收软引用:如果内存...
    99+
    2022-10-19
  • Java中的四种引用是什么
    这篇文章主要讲解了“Java中的四种引用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的四种引用是什么”吧!首先,从 JDK1.2  开始,对象的引用被划分为4种级...
    99+
    2023-06-16
  • Java常见的四种引用是什么
    这篇文章主要讲解了“Java常见的四种引用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java常见的四种引用是什么”吧!从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能...
    99+
    2023-06-17
  • java四种引用类型是什么
    Java中有四种引用类型,它们分别是:1. 强引用(Strong Reference):最常见的引用类型,只要一个对象有强引用与之关...
    99+
    2023-09-28
    java
  • Python中引用传参的四种方式分别是什么
    这篇文章将为大家详细讲解有关Python中引用传参的四种方式分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。引用传参一:>>> a = ...
    99+
    2023-06-22
  • 分享JVM的四种引用方式
    目录前言一、强引用二、软引用三、弱引用四、虚引用前言 Java中提供这四种引用类型主要有两个目的: 可以让程序员通过代码的方式决定某些对象的生命周期;有利于JVM进行垃圾回收 jav...
    99+
    2022-11-13
  • buildAdmin开源项目引入四种图标方式是什么
    本文小编为大家详细介绍“buildAdmin开源项目引入四种图标方式是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“buildAdmin开源项目引入四种图标方式是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-05
  • Java中四种引用有什么区别?
    Java中四种引用有什么区别?Java中存在四种引用,它们分别为:强引用,软引用,弱引用,虚引用。这四种引用强度依次逐渐减弱。【推荐学习:java课程】强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用...
    99+
    2016-10-20
    java教程 Java
  • JavaScript对象的四种使用方式是什么
    这篇“JavaScript对象的四种使用方式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript对象的四...
    99+
    2023-06-30
  • mysql表的四种分区方式是什么
    这篇文章主要介绍“mysql表的四种分区方式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql表的四种分区方式是什么”文章能帮助大家解决问题。1、什么是表分区?mysql数据库中的数据是...
    99+
    2023-06-30
  • Java的引用类型常用的四种方法
    目录前言强引用FinalReference软引用SoftReference弱引用weakReference虚引用PhantomReference前言 今天看代码看到有牵扯到弱引用的东...
    99+
    2022-11-13
  • java引发死锁的四种情况分别是什么
    这篇文章主要介绍java引发死锁的四种情况分别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、四种情况(1)交叉锁导致程序死锁:比如线程A持有R1的锁等待R2的锁,线程B持有R2的锁等待R1的锁(2)内存不足...
    99+
    2023-06-15
  • Java解析XML的四种方式
    xml文件 <?xml version="1.0" encoding="utf-8" ?> <class> <studen...
    99+
    2022-11-12
  • Python协程的四种实现方式是什么
    本篇内容主要讲解“Python协程的四种实现方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python协程的四种实现方式是什么”吧!一、yield关键字实现方式以yield关键字方式实...
    99+
    2023-07-05
  • MySQL四种启动方式分别是什么
    本篇文章给大家分享的是有关MySQL四种启动方式分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。mysql的四种启动方式: 1、mys...
    99+
    2022-10-19
  • Python中引用传参四种方式介绍
    目录引用传参一:​引用传参二:​​引用传参三:​​引用传参四:总结引用传参一: ​​>>> a = 100 #这里的a是不可变类型 >>> d...
    99+
    2022-11-12
  • java8中的四种方法怎么引用
    这篇文章主要介绍“java8中的四种方法怎么引用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java8中的四种方法怎么引用”文章能帮助大家解决问题。1、构造方法引用Test test&n...
    99+
    2023-06-30
  • css引入的3种方式是什么
    小编给大家分享一下css引入的3种方式是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1、内部引用,在html文档中在&...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作