`

弱引用(weakReference)和softReference有什么区别?

    博客分类:
  • J2SE
阅读更多
一道面试题,弱引用(weakReference)和softReference有什么区别?

在平时开发中,这两个东西还真没有用上过.
但还是得理解下..

引用的强度分为:强 弱 软 虚

强就不用讲了,,我们平时都是用的这个. 垃圾回收器宁死不屈.报错也不回收此引用.

弱. 就是比较弱小啦..垃圾回收器一来,它就投降了.

软.就是吃软怕硬,在垃圾回收器来的时候,空间不够用,就会欺负他,回收他.

虚.就是虚幻的,不存在.使用时必须与引用队列一起使用.

引用
weakReference一般用来防止内存泄漏,要保证内存被VM回收  
  softReference的话,好像多用作来实现cache机制.



http://www.java1995.cn/article/717.html

0
0
分享到:
评论

相关推荐

    SoftReference、WeakReference和PhantomRefrence分析和比较

    SoftReference、WeakReference和PhantomReference分析和比较 在 Java 中,引用类型分为强引用、软引用、弱引用和虚引用四种。强引用是我们最常用的引用类型,而软引用、弱引用和虚引用则是 Java 为我们提供的三种...

    Java引用总结--StrongReference、SoftReference、WeakReference、PhantomRef

    虚引用与软引用和弱引用的一个区别在于:虚引用必须和引用队列(ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象的内存之前,把这个虚引用加入到与之关联的引用...

    Android中的软引用和弱引用

    在这个过程中,软引用(Soft Reference)和弱引用(Weak Reference)是两种非常重要的工具,它们可以帮助我们避免内存泄漏,提高应用的内存效率。下面我们将深入探讨这两种引用类型及其在Android中的应用。 首先,...

    详解Java弱引用(WeakReference)的理解与使用

    Java 中的弱引用(WeakReference)是一种特殊的引用类型,它可以帮助我们更好地管理内存和避免内存泄漏。在 Java 中,当一个对象被创建时,它被放在堆(Heap)中。当垃圾回收器(GC)运行时,如果发现没有任何引用...

    Java中弱引用软引用虚引用及强引用的区别Java开发Ja

    强引用、弱引用、软引用和虚引用是四种不同的引用强度,它们在垃圾回收机制中扮演着不同的角色。了解这些引用类型对于优化内存使用、防止内存泄漏以及合理地控制对象生命周期至关重要。 1. **强引用(Strong ...

    Java中的软引用弱引用和虚引用.docx

    ### Java中的软引用、弱引用和虚引用详解 #### 一、引言 在Java开发过程中,特别是Android应用开发中,经常会遇到一个普遍的问题——内存溢出(OutOfMemory Error,简称OOM)。这个问题往往与如何有效地管理内存...

    Java 7之基础 - 强引用、弱引用、软引用、虚引用1

    然而,为了更好地控制内存,Java提供了不同类型的引用:强引用、弱引用、软引用和虚引用。这些引用类型允许程序员在特定场景下干预垃圾收集过程,以达到更精细的内存管理。 1. **强引用(Strong Reference)** - *...

    软弱虚引用_转

    在Java的lang.ref包中,提供了SoftReference类、WeakReference类和PhantomReference类来分别代表软引用、弱引用和虚引用。此外,ReferenceQueue类表示引用队列,可以与这三种引用类联合使用,用于跟踪垃圾回收器回收...

    Java中弱引用和软引用的区别以及虚引用和强引用介绍

    强引用、弱引用、软引用和虚引用这四种引用类型提供了不同的对象生命周期管理策略。下面将详细介绍这些引用的区别及其应用场景。 1. **强引用(Strong Reference)** - 强引用是最常见的引用类型,如普通变量引用。...

    Java对象的强、软、弱和虚引用1

    Java对象的引用类型是Java内存管理中的重要概念,特别是在JDK 1.2及后续版本中引入了四种级别的引用:强引用、软引用、弱引用和虚引用,以提供更精细的控制对象生命周期的能力。 1. **强引用(StrongReference)**: ...

    强应用软引用弱引用与垃圾收集的关系1

    本文将深入探讨强引用、软引用、弱引用以及幻象引用这四种引用类型,以及它们与垃圾收集的关系。 1. **强引用(Strong Reference)**: - 强引用是Java中最常见的引用类型,它代表了一个对象的直接访问路径。只要...

    Java中的强软弱虚引用

    每种引用都有其特定的用途和生命周期,了解它们之间的区别对于优化应用程序的内存使用至关重要。 #### 二、强引用(Strong Reference) 强引用是最常用也是默认的引用类型。如果一个对象有一个强引用指向它,那么该...

    java 常见的四种引用

    ### Java 常见的四种引用...强引用确保对象不会被意外回收,而软引用和弱引用于内存敏感的场景非常有用。虚引用则主要用于监控对象的垃圾回收情况。正确理解和使用这些引用类型对于优化Java应用程序的性能至关重要。

    Java对象的引用.pdf

    从JDK1.2开始,Java引入了四种不同级别的引用,分别是强引用、软引用、弱引用和虚引用,每种引用类型都有其特定的用途和行为。 1. **强引用**:这是最常见的引用类型,如果一个对象被强引用,垃圾收集器永远不会...

    拓胜技术专家教你如何深入理解Java四种引用类型

    Java中的四种引用类型是Java内存管理的重要组成部分,它们分别是强引用(StrongReference)、软引用(SoftReference)、弱引用(WeakReference)和虚引用(PhantomReference)。每种引用类型具有不同的特点和用途,...

    Java的四种引用

    从JDK 1.2版本开始,Java引入了一种更为精细的引用类型管理机制,通过四种不同的引用类型:强引用、软引用、弱引用和虚引用,让开发者能够更加灵活地控制对象的生命周期。这种机制不仅提升了Java应用程序对内存使用...

    如何解决Java的循环引用问题

    即使有弱引用指向一个对象,只要这个对象没有其他强引用,垃圾回收器就会在下一次回收时将其回收。修改上述示例代码,使用弱引用可以避免循环引用: ```java public class A { public WeakReference<B> bRef; } ...

    Java引用类型1

    Java提供了四种不同级别的引用类型:强引用、软引用、弱引用和虚引用(幻象引用),每种引用类型在内存管理中有不同的作用。 1. **强引用(Strong Reference)** - 强引用是最常见的引用类型,即通常的变量赋值。...

    Java 引用1

    在`java.lang.ref`包中,有三个类分别对应这四种引用:`SoftReference`、`WeakReference`和`PhantomReference`。此外,`ReferenceQueue`用于存储被回收引用的实例,以便开发者可以监控对象的回收状态。 在实际应用...

Global site tag (gtag.js) - Google Analytics