Softreference | WeakReference】的更多相关文章

Java.lang.ref 是 Java 类库中比较特殊的一个包,它提供了与 Java 垃圾回收器密切相关的引用类.这些引用类对象可以指向其它对象,但它们不同于一般的引用,因为它们的存在并不防碍 Java 垃圾回收器对它们所指向的对象进行回收.其好处就在于使者可以保持对使用对象的引用,同时 JVM 依然可以在内存不够用的时候对使用对象进行回收.因此这个包在用来实现与缓存相关的应用时特别有用.同时该包也提供了在对象的“可达”性发生改变时,进行 提醒的机制.本文通过对该包进行由浅入深的介绍与分析,使…
引言: 即使对于Java的很多老鸟来说,如果忽然问他引用的类型,大概率是一脸茫然,不知所措的-.Java中的引用还分类型,神马情况??? 本文将针对这些类型进行分析,帮助您一文知所有类型. Java的类型 在Java中存在的类型有两大阵营: 基本数据类型和Java Class. 所谓的基本数据类型包括: byte, char, int, float, double, long, boolean. 数组是一个特殊的数据结构,其中可以使用基础数据类型,也可以是各种类. 除了基本数据类型之外,就是以J…
转自:http://blog.csdn.net/kavendb/article/details/5935577 本文介绍对象的强.软.弱和虚引用的概念.应用及其在UML中的表示. 1.对象的强.软.弱和虚引用   在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期.这4种级别由高到低依次为:强引用…
最近在看netty的时候看到直接内存的相关概念,为了更详细的了解一下具体原理,搜到了一篇不错的文章 http://lovestblog.cn/blog/2015/05/12/direct-buffer/  因为文章中又涉及到PhantomReference的概念,又为了更详细的了解一下具体原理,又搜到了另一篇不错的文章 https://blog.csdn.net/xlinsist/article/details/57089288 这些概念很多文章中都有讲解,下面主要是针对各个Reference的…
Java 2 平台引入了 java.lang.ref 包,其中包括的类可以让您引用对象,而不将它们留在内存中.这些类还提供了与垃圾收集器(garbage collector)之间有限的交互. 1.先“由强到弱”(只的是和垃圾回收器的关系)明确几个基本概念:      strong references是那种你通常建立的reference,这个reference就是强可及的.这个不会被垃圾回收器自动回收.例如:      StringBuffer buffer = new StringBuffer…
Reference 是一个抽象类,而 SoftReference,WeakReference,PhantomReference 以及 FinalReference 都是继承它的具体类.接下来我们来分别介绍和分析强引用以及 java.lang.ref 包下各种虚引用的特性及用法.StrongReference, SoftReference, WeakReference 以及 PhantomReference 的特性及用法 StrongReference: 我们都知道 JVM 中对象是被分配在堆(h…
一.写在前面 对于C++来说,内存泄漏就是new出来的对象没有delete,俗称野指针:而对于java来说,就是new出来的Object放在Heap上无法被GC回收:而这里就把我之前的一篇内存泄漏的总结翻新,做一个更加全面规范的讲解,希望能帮到各位. 二.一些杂谈 1. 这里先安利一下java的内存分配: a) 静态存储区:编译时就分配好,在程序整个运行期间都存在.它主要存放静态数据和常量: b) 栈区:当方法执行时,会在栈区内存中创建方法体内部的局部变量,方法结束后自动释放内存: c) 堆区:…
@(Java)[Reference] Java Reference简要概述 Reference对象封装了其它对象的引用,可以和普通的对象一样操作. Java提供了四种不同类型的引用,引用级别从高到低分别为FinalReference,SoftReference,WeakReference,PhantomReference.其中FinalReference不向外提供.每种类型对应着不同级别的可达性. 强引用FinalReference 强引用指的是,程序中有直接可达的引用,而不需要通过任何引用对象…
Containers in Depth Full container taxonomy You can usually ignore any class that begins with "Abstract." Filling containers This fill( ) just duplicates a single object reference throughout the container. In addition, it only works for List obj…