第226天学习打卡(知识点回顾 强引用 软引用)

Posted doudoutj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第226天学习打卡(知识点回顾 强引用 软引用)相关的知识,希望对你有一定的参考价值。

知识点回顾

强引用

当内存不足,JVM开始垃圾回收,对于强引用的对象,就算出现了OOM也不会对该对象进行回收,死都不收。

强引用是我们最常见的普通对象引用,只要还有强引用指向一个对象,就表明对象还“活着”,垃圾收集器不会碰这种对象。在Java中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能背垃圾回收机制回收的,即使该对象以后永远都不会被用到JVM也不会回收。因此强引用是造成Java内存泄露的主要原因之一。

对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显示的将相应(强)引用赋值为null,一般认为就是可以被来及收集的了(当然具体回收时机还是要看垃圾收集策略)

软引用

是一种相对强引用弱化了一些的引用,需要java.lang.ref.SoftReference类来实现,可以让对象豁免一些垃圾收集。对于只有软引用的对象来说,当系统内存充足时 它不会被回收;当系统内存不足时,它会被回收。软引用通常用在对内存敏感的程序中,比如高速缓存就有用到软引用,内存够用的时候就保留,不够用就回收。

B站学习网址:尚硅谷Java大厂面试题第二季(java面试必学,周阳主讲)_哔哩哔哩_bilibili

以上是关于第226天学习打卡(知识点回顾 强引用 软引用)的主要内容,如果未能解决你的问题,请参考以下文章

第236天学习打卡(知识点回顾 常见的垃圾回收算法)

第289天学习打卡(知识点回顾 SpringCloud dependencyMangement)

第289天学习打卡(知识点回顾 SpringCloud dependencyMangement)

第229天学习打卡(知识点回顾 GC垃圾器)

第286天学习打卡(知识点回顾 springboot 指标监控(springboot Actuator))

第286天学习打卡(知识点回顾 springboot 指标监控(springboot Actuator))