四大引用——强软弱虚

目录

一、强引用

二、软引用

三、弱引用

四、虚引用


一、强引用

        强引用是在程序代码之中普遍存在的,类似于“Object obj = new Object()”,obj变量引用Object这个对象,就叫做强引用。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。

二、软引用

        软引用(SoftReference)是用来描述一些还有用但并非必需的对象。如果一个对象只具有软引用,则内存空间足够时,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。

三、弱引用

        弱引用(WeakReference)也是用来描述非必需对象的,但是它的强度比软引用更弱一些,每次执行GC的时候,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。

四、虚引用

        虚引用(PhantomReference)用于跟踪对象被垃圾回收的状态。“虚引用”顾名思义,就是形同虚设,与其他几种引用都不同,虚引用并不会决定对象的生命周期。如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收器回收。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 10:34:03       171 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 10:34:03       189 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 10:34:03       157 阅读
  4. Python语言-面向对象

    2024-07-23 10:34:03       170 阅读

热门阅读

  1. Python语言-面向对象

    2024-07-23 10:34:03       170 阅读
  2. 开封建筑设计资质申请正确填写信息

    2024-07-23 10:34:03       101 阅读
  3. Android中接入hook框架:lancet-base

    2024-07-23 10:34:03       91 阅读
  4. 如何平衡硬约束与软约束

    2024-07-23 10:34:03       93 阅读
  5. 医学深度学习与机器学习融合的随想

    2024-07-23 10:34:03       90 阅读
  6. 19、基于共享内存的内存池

    2024-07-23 10:34:03       81 阅读
  7. Hisilicon适配按键

    2024-07-23 10:34:03       81 阅读
  8. qml实现双指左右滑动,上下滑动

    2024-07-23 10:34:03       56 阅读
  9. LeetCode 算法:分割回文串 c++

    2024-07-23 10:34:03       63 阅读
  10. 【力扣每日一题】

    2024-07-23 10:34:03       57 阅读
  11. JVM类加载机制详解

    2024-07-23 10:34:03       52 阅读