深入理解WeakHashmap】的更多相关文章

转自:http://mikewang.blog.51cto.com/3826268/880775 (一) 查看API文档,WeakHashmap要点如下: 1. 以弱键 实现的基于哈希表的 Map.在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目.更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后被回收.丢弃某个键时,其条目从映射中有效地移除 2. WeakHashMap 类的行为部分取决于垃圾回收器的动作.因为…
本人博客中有一篇文章对java中的引用有详细的介绍[http://www.cnblogs.com/javaee6/p/4763190.html],java中WeakHashMap这个类就是java弱引一个非常好的例子,也是一个比较难的例子.收集了网上一些关于WeakHashMap的详细分析的文章.猛击下面的链接地址查看 深入理解WeakHashmap WeakHashMap详细介绍(源码解析)和使用示例 解析WeakHashMap与HashMap的区别详解…
看Java源码的时候,看到了 WeakHashMap ,我一直以来使用的 都是 HashMap,于是查了一下两者的区别 (一) 查看API文档,WeakHashmap要点如下: 1. 以弱键 实现的基于哈希表的 Map.在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目.更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后被回收.丢弃某个键时,其条目从映射中有效地移除 2. WeakHashMap 类的行为部分取决于…
一.引用分类 强:运行垃圾回收机制后也不回收,程序出现内存溢出也不回收. 软:在垃圾回收机制运行时判断内存是否已满,如果内存已满则回收,内存充足则不回收. 弱:垃圾回收机制运行后不论内存是否充足都会立即回收. 虚:虚引用和没有引用一样,必须配合引用队列使用. 我们来看例子: import java.lang.ref.PhantomReference; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; impo…
一.概述 为了更好的理解WeakHashMap的原理,我们有必要先来了解一下WeakReference的作用及实现原理.Java中有一个专门的包java.lang.ref,里面定义了我们通常所说的几种引用,具体来说如下: Reference: 基础的引用类,是一个抽象类,定义了引用的一些基本方法 SoftReference: 软引用,软引用对象在应用出现OOM之前会被回收. WeakReference: 弱引用,如果一个对象只被弱引用关联,则垃圾回收器会回收它. PhantomReference…
在Java中有一套设计优良的接口和类组成了Java集合框架,使程序员操作成批的数据或对象元素极为方便.所有的Java集合都在java.util包中. 在编写程序的过程中,使用到集合类,要根据不同的需求,来决定使用哪种集合类,比如,要经常遍历集合内元素,就要使用List,如果要保证集合中不存在重复的数据,就要用Set;如果要通过某一键来查找某一值,就要使用Map. 1).列表  List接口(继承于Collection接口)及其实现类    List接口及其实现类是容量可变的列表,可按索引访问集合…
我的收藏 他山之石,可以攻玉 转载请注明出处:https://ahangchen.gitbooks.io/windy-afternoon/content/ 开发过程中收藏在Chrome书签栏里的技术文章,与自己的文章分开. 主要涉及python,android,ubuntu等内容,我自己常常在这里面找回忘了的知识. Chrome书签导出markdown的方法可以在这里查看 python What's New In Python 3.0 - Python v3.1.5 documentation…
新美大的10月11日的笔试中有一道选择题,让选择函数返回结果,代码如下: private static String test(){ String a = new String("a"); WeakReference<String> b = new WeakReference<String>(a); WeakHashMap<String, Integer> weakMap = new WeakHashMap<String, Integer>…
一直很想知道WeakHashMap的使用场景,想来想去只能用在高速缓存中,而且缓存的数据还不是特别重要,因为key(key不存在被引用的时候)随时会被回收 所以研究了一下WeakHashMap的回收时机 呵呵,现在可以重视 String str = "abc" 跟 String Str = new String("abc") 的区别了,因为涉及到收回问题 String str = "abc" //这属于编译时生成的字面量,会放入运行时常量池,这个…
新美大的10月11日的笔试中有一道选择题,让选择函数返回结果,代码如下: private static String test(){ String a = new String("a"); WeakReference<String> b = new WeakReference<String>(a); WeakHashMap<String, Integer> weakMap = new WeakHashMap<String, Integer>…