美文网首页
Java各种引用使用场景

Java各种引用使用场景

作者: APP福星高照 | 来源:发表于2022-04-29 15:11 被阅读0次

1、强引用:(在Android中LruCache就是强引用缓存)
平时我们编程的时候例如:Object object=new Object();那object就是一个强引用了。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。

2、软引用(SoftReference):
软引用类似于可有可无的生活用品。如果内存空间足够,垃圾回收器就不会回收它,如果内存空间不足了,就会回收这些对象的内存
使用软引用能防止内存泄露,增强程序的健壮性。

3、弱引用(WeakReference):
弱引用最常用于实现规范化映射。假设,GC 在某个时间点确定某个对象只有弱引用可达,届时,它自动地将所有指向该对象的所有弱引用清除,并且,如果该对象通过弱引用或强引用链所引用的对象也变成只有弱引用可达,GC也会将这些将指向这些对象的弱引用清除。

4、虚引用(PhantomReference)
"虚引用"顾名思义,就是形同虚设,与其他几种引用都不同,虚引用并不会决定对象的生命周期。
虚引用主要用来跟踪对象被垃圾回收的活动。
虚引用必须和引用队列(ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象的内存之前,把这个虚引用加入到与之关联的引用队列中。程序可以通过判断引用队列中是否已经加入了虚引用,来了解被引用的对象是否将要被垃圾回收。程序如果发现某个虚引用已经被加入到引用队列,那么就可以在所引用的对象的内存被回收之前采取必要的行动。

相关文章

  • Java各种引用使用场景

    1、强引用:(在Android中LruCache就是强引用缓存)平时我们编程的时候例如:Object object...

  • 面试题笔记

    Java中引用类型的区别,具体的使用场景 Java中引用类型分为四类:强引用、软引用、弱引用、虚引用。 强引用:强...

  • Android面试题大全-Java基础篇

    Java基础 内存泄漏的场景 强软弱虚引用分别什么区别 什么场景下使用虚引用 ClassLoader的双亲委派原理...

  • 深入理解Java的分级引用模型

    本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望...

  • 深入理解Java的分级引用模型

    本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望...

  • 彻底理解JVM常考题之分级引用模型

    本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望...

  • 深入理解Java的分级引用模型

    本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望...

  • 理解Java中的弱引用(Weak Reference)

    本篇文章尝试从What、Why、How这三个角度来探索Java中的弱引用,理解Java中弱引用的定义、基本使用场景...

  • Java面试题汇总

    1.java中包装类与引用类型_包装类型与引用类型的使用场景: https://blog.csdn.net/wei...

  • 强引用、软引用、弱引用、幻象引用的区别

    谈谈强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么? Java中根据对象生命周期的长短,将其分为4...

网友评论

      本文标题:Java各种引用使用场景

      本文链接:https://www.haomeiwen.com/subject/zsysyrtx.html