Java中强引用、软引用、弱引用有何区别与联系?

2026-05-26 06:050阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计728个文字,预计阅读时间需要3分钟。

Java中强引用、软引用、弱引用有何区别与联系?

1. 概念解释:强引用是使用最普遍的引用:Object o=new Object(); 特点:不会在GC中将被对象的引用显示为null:o=null; // 帮助垃圾收集器回收此对象 例如ArrayList的实现源代码:amp;lt;img src=...>

1.概念解释强引用是使用最普遍的引用:Object o=new Object(); 特点:不会被GC

将对象的引用显示地置为null:o=null; // 帮助垃圾收集器回收此对象

举例ArrayList的实现源代码:


软引用用来描述一些还有用但是并非必须的对象,在Java中用java.lang.ref.SoftReference类来表示。对于软引用关联着的对象,只有在内存不足的时候JVM才会回收该对象。因此,这一点可以很好地用来解决OOM的问题,并且这个特性很适合用来实现缓存:比如网页缓存、图片缓存等。

阅读全文

本文共计728个文字,预计阅读时间需要3分钟。

Java中强引用、软引用、弱引用有何区别与联系?

1. 概念解释:强引用是使用最普遍的引用:Object o=new Object(); 特点:不会在GC中将被对象的引用显示为null:o=null; // 帮助垃圾收集器回收此对象 例如ArrayList的实现源代码:amp;lt;img src=...>

1.概念解释强引用是使用最普遍的引用:Object o=new Object(); 特点:不会被GC

将对象的引用显示地置为null:o=null; // 帮助垃圾收集器回收此对象

举例ArrayList的实现源代码:


软引用用来描述一些还有用但是并非必须的对象,在Java中用java.lang.ref.SoftReference类来表示。对于软引用关联着的对象,只有在内存不足的时候JVM才会回收该对象。因此,这一点可以很好地用来解决OOM的问题,并且这个特性很适合用来实现缓存:比如网页缓存、图片缓存等。

阅读全文