Java.WeakReference-SoftReference-PhantomReference
Weak Reference, Soft Reference, Phantom Reference
1. Introduction
"Weak reference objects, which do not prevent their referents from being made finalizable,
finalized, and then reclaimed. Weak references are most often used to implement canonicalizing
mappings." Ref[1]
弱引用对象(Weak reference objects), 该对象不会阻止 它们所引用的对象(their referents) 变为可完结的,已完结的,
接下来可以被回收的。弱引用通常被用来实现规范化的映射。
2. Weak reference Vs. Soft reference
"Weak references are useful for mappings that should have their entries removed automatically
once they are not referenced any more (from outside). The difference between a SoftReference
and a WeakReference is the point of time at which the decision is made to clear and enqueue the reference:
- A
SoftReferenceshould be cleared and enqueued as late as possible, that is, in case the VM is in danger of running out of memory. - A
WeakReferencemay be cleared and enqueued as soon as is known to be weakly-referenced." Ref[2]
弱引用对映射(mapping)很有用处,对于映射来讲,当它们的条目一旦不再被引用时就应该自动地从该映射中移除。
软引用和弱引用地区别是:决定进行清理和将引用入队的时间点。
Reference
1. WeakReference [已读]
http://docs.oracle.com/javase/7/docs/api/java/lang/ref/WeakReference.html
2. WeakReference [已读]
http://developer.android.com/reference/java/lang/ref/WeakReference.html
3. Java Weak Reference [已读]
http://javapapers.com/core-java/java-weak-reference/
该blog描述了以下四种Reference类型:
Strong Reference
Weak Reference
Soft Reference
Phantom Reference
javapapers.com: java相关的各种文章,质量不错。
4. Understanding Weak Reference [Todo]
https://weblogs.java.net/blog/2006/05/04/understanding-weak-references
5. Difference between WeakReference vs SoftReference vs PhantomReference vs Strong reference in Java [Todo]
http://www.javacodegeeks.com/2014/03/difference-between-weakreference-vs-softreference-vs-phantomreference-vs-strong-reference-in-java.html
6. Java References: From Strong to Soft to Weak to Phantom
https://www.rallydev.com/community/engineering/java-references-strong-soft-weak-phantom
7. Finally understanding how references work in Android and Java (AAAA)
https://medium.com/google-developer-experts/finally-understanding-how-references-work-in-android-and-java-26a0d9c92f83#.o2aa3dc6g
Java.WeakReference-SoftReference-PhantomReference的更多相关文章
- Java中引用类 strong reference .SoftReference 、 WeakReference 和 PhantomReference的区别
当在 Java 2 平台中首次引入 java.lang.ref 包,其中包含 SoftReference . WeakReference 和 PhantomReference 三个引用类,引用类的 ...
- Java引用总结--StrongReference、SoftReference、WeakReference、PhantomReference
Java引用总结--StrongReference.SoftReference.WeakReference.PhantomReference 1 Java引用介绍 Java从1.2版本开始引入了4种引 ...
- Java核心技术-高级特性(2)- SoftReference, WeakReference and PhantomReference
Java.lang.ref 是 Java 类库中比较特殊的一个包,它提供了与 Java 垃圾回收器密切相关的引用类.这些引用类对象可以指向其它对象,但它们不同于一般的引用,因为它们的存在并不防碍 Ja ...
- Java引用详解-StrongReference SoftReference WeakReference PhantomReference
1 Java引用介绍 Java从1.2版本开始引入了4种引用,这4种引用的级别由高到低依次为: 强引用 > 软引用 > 弱引用 > 虚引用 ⑴强引用(StrongR ...
- Java的引用StrongReference、 SoftReference、 WeakReference 、PhantomReference
1. Strong Reference StrongReference 是 Java 的默认引用实现, 它会尽可能长时间的存活于 JVM 内, 当没有任何对象指向它时 GC 执行后将会被回收 @Te ...
- 深入理解StrongReference,SoftReference, WeakReference和PhantomReference
Java 中一共有 4 种类型的引用 : StrongReference. SoftReference. WeakReference 以及 PhantomReference (传说中的幽灵引用 呵呵) ...
- ZT JAVA WeakReference
JAVA WeakReference 分类: JAVA 2012-08-28 16:08 305人阅读 评论(0) 收藏 举报 javareferencehashmapcacheclassnull 在 ...
- Java 引用分类:StrongReference、SoftReference、WeakReference、PhantomReference
一,定义 在Java中,引用的定义是:如果reference类型的数据中存储的数值代表的是另一块内存的起始地址,就称这块内存代表着一个引用.后面在JDK1.2开始,引用的概念被扩充,引用被分为强引用( ...
- Java WeakReference的理解与使用
转载:http://itindex.net/detail/47754-%E9%9D%A2%E8%AF%95-java-weakreference?utm_source=tuicool&utm_ ...
- java WeakReference
在Java 1.2中就引入了java.lang.ref这个包,WeakReference就属于这个包.WeakReference是干嘛的呢,一言弊之,它是和Java中的垃圾回收相关的.如果一个对象只有 ...
随机推荐
- python import sklearn出错 "ImportError: DLL load failed: 找不到指定的模块。
安装好sklearn模块后,import的时候出现了以下错误: 但是确实已经装好了,百思不得其解,网上查找之后发现,出现错误原因:安装包的来源问题,也可以理解为包版本兼容问题,有的包使用官方出版,有的 ...
- spark 学习_rdd常用操作
[spark API 函数讲解 详细 ]https://www.iteblog.com/archives/1399#reduceByKey [重要API接口,全面 ] http://spark.apa ...
- python字典dict的增、删、改、查操作
## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...
- BOS物流项目第十二天
教学计划 1.角色管理 a. 添加角色功能 b. 角色分页查询 2.用户管理 a. 添加用户功能 b. 用户分页查询 3.修改Realm中授权方法(查询数据库) 4.使用ehcache缓存权限 ...
- 03_java基础(二)之jdk的安装与环境变量配置
1.语言与机器语言 语言 : 通常说的语言其实就是人与人之间沟通的一种方式计算机编程语言: 可以看成是人与计算机之间交流的一种方式 C,C++,C#,PHP,Java等 2.Java语言的历史 是SU ...
- propTypes
[propTypes] React.PropTypes is deprecated as of React v15.5. Please use the prop-types library inste ...
- laravel 自定义常量的方法
注意:laravel版本为5.1 第一种方法 在本地可以用 我上传到服务器发现用不了 有待解决 第二种方法 在本地可以用 上传服务器后 要把 constants.php 文件权限改为 755 ...
- Vue-axios快速上手(转)
引入方式: 1 2 3 4 5 $ npm install axios $ cnpm install axios //taobao源 $ bower install axios 或者使用cdn: &l ...
- 整理一些好用的css, javascript资源网站等
CSS: CSS3信息:http://www.css3.info/ css3生成器:http://css3generator.com/ css3 cross brower生成器:http://css3 ...
- win10 安装php
缺失:msvcp110.dll https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=30679