`
neitheraaa
  • 浏览: 26694 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

弱引用和软引用的使用方法

    博客分类:
  • java
阅读更多
1.软引用的主要特点是具有较强的引用功能.只有当内存不够的时候,才回收这类内存,因此在内存足够的时候,它们通常不被回收.它可以用于实现一些常用资源的缓存,实现Cache的功能
  A a = new A(); 
  SoftReference sr = new SoftReference(a); 
  a = null; 
  
  if(sr !=null){ 
       a = sr.get(); 
  }else{ 
      a = new A(); 
       sr = new SoftReference(a); 
  }  


2.弱引用对象与Soft引用对象最大不同就在于:GC在进行回收时,需要通过算法检查是否回收Soft引用对象,而对于Weak引用对象,GC总是进行回收.

  A a = new A(); 
  WeakReference wr = new WeakReference(a); 
  a = null; 
  
  if(sr !=null){ 
       a = wr.get(); 
  }else{ 
      a = new A(); 
      wr = new WeakReference(a); 
  }
分享到:
评论

相关推荐

    Android中的软引用和弱引用

    `put`方法将图片与对应的键一起存入缓存,而`getSoftReference`和`getWeakReference`方法分别根据键获取软引用或弱引用的对象。当需要清理缓存时,只需要清空这两个映射即可,因为软引用和弱引用的对象会在垃圾收集...

    强引用、软引用、弱引用、虚引用1

    在实际编程中,强引用是默认的引用类型,而软引用和弱引用则在需要控制内存使用和优化垃圾回收时使用。虚引用由于其特殊的性质,通常较少使用,主要应用于高级内存管理场景。 理解并合理使用这四种引用类型,可以...

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

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

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

    在处理大量对象或大型数据结构时,合理使用弱引用和软引用可以实现高效的缓存策略,防止内存溢出。而虚引用则常用于对象 finalize 阶段的清理工作,确保对象在被彻底回收前有机会执行必要的清理操作。 总之,Java的...

    Java中的引用类型详解:强引用、软引用、弱引用与虚引用

    从JDK 1.2版本开始,Java引入了四种不同级别的引用:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。这些引用类型提供了灵活的内存管理策略,允许...

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

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

    java弱引用

    在 Java 中,引用可以分为四类:强引用、软引用、弱引用和虚引用(也称为精灵引用)。弱引用是其中的一种,它们允许垃圾回收器在某些情况下回收对象,而不是像强引用那样坚持对象的存在。 弱引用的工作原理是,当...

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

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

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

    - 软引用是Java为了平衡性能和内存使用而引入的一种引用类型。通过`java.lang.ref.SoftReference`类实现。当系统内存紧张,即将抛出`OutOfMemoryError`时,JVM才会回收持有软引用的对象。软引用常用于缓存策略,...

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

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

    Android利用软引用和弱引用避免OOM的方法

    为了优化内存使用,Java引入了不同级别的引用类型,包括强引用、软引用、弱引用和虚引用。这些引用类型帮助开发者更好地控制对象的生命周期,并在必要时协助垃圾回收机制。 1. **强引用(Strong Reference)** - ...

    referenceInJava:Java强引用,软引用,弱引用以及虚引用测试项目

    这些引用类型与垃圾收集(Garbage Collection, GC)机制密切相关,对于优化内存使用和防止内存泄漏至关重要。 1. **强引用(Strong Reference)**: - 强引用是最常见的引用类型,它是我们通常在程序中创建的对象...

    Java中强引用,软引用,弱引用概念解析

    软引用可以和一个引用队列(`ReferenceQueue`)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java 虚拟机就会把这个软引用加入到与之关联的引用队列中。这使得我们可以在对象被回收时,得到通知,进行相应的...

    解析Android开发优化之:软引用与弱引用的应用

    总的来说,理解并恰当使用软引用和弱引用是Android开发者必备的技能之一。通过控制对象的生命周期,我们可以创建更高效、更稳定的移动应用,同时避免由于内存管理不当导致的崩溃或性能问题。在设计缓存策略、处理...

    基于软引用实现的缓存,当内存不够使会自动释放缓存内容,以避免OOM

    基于软引用实现的缓存是一种优化策略,它能够帮助我们平衡性能和内存使用,防止因内存过度消耗而导致的OutOfMemoryError(OOM)。本篇文章将深入探讨软引用在缓存中的应用以及其工作原理。 软引用是Java中的一个...

    十分钟理解Java中的弱引用编程开发技术共3页.pdf.z

    Java中的弱引用编程开发技术是Java内存管理的一个重要概念,对于优化内存使用和防止内存泄漏具有关键作用。本文将深入探讨这一主题,帮助你在这十分钟内建立起对弱引用的理解。 首先,我们需要知道Java的内存区域...

    详解 JAVA 弱引用

    但是,在使用弱引用时,也需要注意弱引用对象的生命周期和WeakReference类的get方法的返回值,以免出现问题。 knowledge points: * JAVA 弱引用是使用WeakReference类来实现的。 * 弱引用是一种非必需对象的描述...

    软引用SoftReference缓存图片及异步加载

    软引用是Java内存管理中的一种特性,它是一种弱于强引用但强于虚引用的引用类型。当系统内存充足时,即使对象只有软引用,垃圾回收器也不会回收这些对象。然而,当系统内存不足时,垃圾回收器会清除那些只被软引用的...

    Java中的强软弱虚引用

    为了更好地理解和控制对象的生命周期,Java提供了四种不同类型的引用:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)以及虚引用(Phantom Reference)。每种引用都有其特定的...

Global site tag (gtag.js) - Google Analytics