基础-WeakReference】的更多相关文章

一.概述 为了更好的理解WeakHashMap的原理,我们有必要先来了解一下WeakReference的作用及实现原理.Java中有一个专门的包java.lang.ref,里面定义了我们通常所说的几种引用,具体来说如下: Reference: 基础的引用类,是一个抽象类,定义了引用的一些基本方法 SoftReference: 软引用,软引用对象在应用出现OOM之前会被回收. WeakReference: 弱引用,如果一个对象只被弱引用关联,则垃圾回收器会回收它. PhantomReference…
在Java里, 当一个对象o被创建时, 它被放在Heap里. 当GC运行的时候, 如果发现没有任何引用指向o, o就会被回收以腾出内存空间. 或者换句话说, 一个对象被回收, 必须满足两个条件: 1)没有任何引用指向它 2)GC被运行. 在现实情况写代码的时候, 我们往往通过把所有指向某个对象的referece置空来保证这个对象在下次GC运行的时候被回收. 但是, 手动置空对象对于程序员来说, 是一件繁琐且违背自动回收的理念的.  对于简单的情况, 手动置空是不需要程序员来做的, 因为在java…
.Net Framework中,把资源分为托管资源和非托管资源两大类, 托管资源指可以通过.Net Frame垃圾回收器进行回收的资源,主要是指分配在托管堆上你的内存资源,这类资源的回收是不需要人工干预,.Net Framework的垃圾回收器会在合适的时刻进行回收,程序也可以主动调用GC.Collect()强制执行垃圾回收(但是不建议). 非托管资源则是指不能被.Net Framework垃圾回收器回收的资源,主要包括以下几类:文件读写.窗口操作.网络连接.数据库连接.GDI画刷.图标等.针对…
线程创建与终止 线程创建 Thread类与Runnable接口的关系 public interface Runnable { public abstract void run(); } public class Thread implements Runnable { /* What will be run. */ private Runnable target; ...... /** * Causes this thread to begin execution; the Java Virtu…
集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List(列表).Set(保证集合中元素唯一).Map(维护多个key-value键值对,保证key唯一). 集合框架体系如下图所示: 图1 各个集合类型的区别与联系如下图: 接口 简述 实现 操作特性 成员要求 Set 成员不能重复 HashSet 外部无序地遍历成员 成员可为任意Object子类的对象,…
http://yishouce.com/java/run http://www.shucunwang.com/RunCode/java/ 数据类型 8种基本数据类型及对应的 类型封装器 byte, short, int, long ->  Long,Integer,Short,Byte :Number float, double   ->  Double,Float :Number char, boolean -> Character,Boolean java中其他数据类型都是由类封装,…
基础4 Android基础 1. Activity与Fragment的生命周期. Activity生命周期 打开应用 onCreate()->onStart()->onResume 按BACK键 onPause()->onStop()->onDestory() 按HOME键 onPause()->onStop() 再次启动 onRestart()->onStart()->onResume() Fragment的生命周期 切换到该Fragment onAttach(…
JavaSe基础 1. 九种基本数据类型的大小,以及他们的封装类 boolean 无明确指定 Boolean char 16bits Character byte 8bits Byte short 16bits Short int 32bits Integer long 64bits Long float 32bits Float double 64bits Double void Void 2. switch能否用string做参数? 参数必须是int或char那样的整数值 字符串或浮点数不可…
一.对象引用的类型 Java 中的垃圾回收一般是在 Java 堆中进行,因为堆中几乎存放了 Java 中所有的对象实例.谈到 Java 堆中的垃圾回收,自然要谈到引用.在 JDK1.2 之前,Java 中的引用定义很很纯粹:如果 reference 类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用.但在 JDK1.2 之后,Java 对引用的概念进行了扩充,将其分为强引用(Strong Reference).软引用(Soft Reference).弱引用(Weak…
java基础解析系列(七)---ThreadLocal原理分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer缓存及装箱拆箱 java基础解析系列(三)---HashMap原理 java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 java基础解析系列(五)---HashMap并发下的问题以及HashTable和CurrentHashMap的区别 java基础解…