java-强引用、弱引用、软引用、虚引用

2024.7.10

1.强引用对象的回收

先说结论,会被回收。

简单想一想,我们平时写java代码,如果不回收的话,内存肯定是不够用的。

一般我们见到的描述——“强引用对象不会被回收”,指的是依旧由gcRoot的有效引用到这个对象。

几段典型的代码可以参考下方的链接。 

https://www.freebytes.net/it/java/jvm-strongreference.html

2.软引用,SoftReference,内存不足的时候才会回收,如果回收之后内存仍不足,会报内存溢出异常

3.弱引用,WeakReference,比软引用更弱的,无论内存是否足够,一旦开始垃圾回收,被弱引用关联的对象都会被回收

4.虚引用,最弱的引用,可以理解为没有引用一样,随时会被回收。不能单独存在,必须和引用队列(Reference)联合使用,主要用来跟踪对象被回收的状态。

 

posted @ 2023-08-16 23:58  sellingpear  阅读(57)  评论(0)    收藏  举报