强引用: 只要引用存在,垃圾回收器永远不会回收 Object obj = new Object(); //可直接通过obj取得对应的对象 如obj.equels(new Object()); 而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会被释放掉,这也是我们经常所用到的编码形式。 软引用: 非必须引用,内存溢出之前进行回收,可以通过以下代码实现 Object obj = new Object(); SoftReference<Object> sf = new SoftReference<Object>(obj); obj = null; sf.get();//有时候会返回null 这时候sf是对obj的一个软引用,通过sf.get()方法可以取到这个对象,当然,当这个对象被标记为需要回收的对象时,则返回null; 软引用主要用户实现类似缓存的功能,在内存足够的情况下直接通过软引用取值,无需从繁忙的真实来源查询数据,提升速度;当内存不足时,自动删除这部分缓存数据,从真正的来源查询这些数据。 弱引用: 第二次垃圾回收时回收,可以通过如下代码实现 Object obj = new Object(); WeakReference<Object> wf = new WeakReference<Object>(obj); obj = null; wf.get();//有时候会返回null wf.isEnQueued();//返回是否被垃圾回收器标记为即将回收的垃圾 弱引用是在第二次垃圾回收时回收,短时间内通过弱引用取对应的数据,可以取到,当执行过第二次垃圾回收时,将返回null。 弱引用主要用于监控对象是否已经被垃圾回收器标记为即将回收的垃圾,可以通过弱引用的isEnQueued方法返回对象是否被垃圾回收器标记。 虚引用: 垃圾回收时回收,无法通过引用取到对象值,可以通过如下代码实现 Object obj = new Object(); PhantomReference<Object> pf = new PhantomReference<Object>(obj); obj=null; pf.get();//永远返回null pf.isEnQueued();//返回是否从内存中已经删除 虚引用是每次垃圾回收的时候都会被回收,通过虚引用的get方法永远获取到的数据为null,因此也被成为幽灵引用。 虚引用主要用于检测对象是否已经从内存中删除。
引至:https://www.cnblogs.com/yw-ah/p/5830458.html
相关推荐
Java中的基本类型和引用类型变量的区别
62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递.zip62.java引用类型的参数传递....
浅析Java引用类型和方法参数传递,浅析Java引用类型和方法参数传递
ava有四种引用类型,strongreference,softreference,weakreference,phantomreference。本篇文档主要的就是进阶的介绍和了解这四种引用类型的异同点,助于你对java的更好的学习理解
java四大引用 四大引用设计作用 强引用 软引用 弱引用 虚引用 java四大引用 java有四种引用类型:强引用、软引用、弱引用、虚引用 四大引用设计作用 因为java的内存分配和内存回收,都是由JVM去负责,一个对象...
java开发人员必看的几个文档,相信会让你有提高的。
java开发常用的四大框架的经典总结,是初学者和菜鸟的学习java四大框架必备参考
Java传递引用类型的实质_.docx
java领域四大名著 4本书作者重磅出击。对java进行讲解。
Java中引用类型传值的代码清单.pdf 学习资料 复习资料 教学资源
6.java引用类型
引用类型不像值类型传值那样直接,那么引用类型是怎么样传值的呢?答案就在此文档中。
java.applet:包含一些用于创建Java小应用程序的类。 java.awt:包含一些用于编写与平台无关的图形界面(GUI)应用程序的类。 java.io:包含一些用作输入输出(I/O)处理的类。 java.lang:包含一些Java语言的基本类与...
java学习相关引用 对象 属性等数据类型知识
Java引用类型编程开发技术共13页.pdf.zip
在java开发中经常会遇到值类型和引用类型知识,但是有很多朋友不清楚java中值类型和引用类型的区别,今天小编通过本文给大家介绍下
14.java学习第十四章——super()关键字+实例变量(含引用数据类型做实例变量)和局部变量的个人总结+基本数据类型和引用数据类型的存放位置.pdf
JAVA数据类型思维导图,包括基本数据类型,引用数据类型,可自行下载,如有错误欢迎批评指正。基础复习。
详细讲述了封装继承多肽抽象!让你能够快速理解java