码迷,mamicode.com
首页 > 编程语言 > 详细

JavaSE---引用

时间:2020-04-14 17:18:39      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:描述   保留   sof   引用   实现   时间   ase   bsp   enc   

1、概述

    1.1、JDK1.2前,java中引用的定义:   

          如果  引用类型数据  存储的是   另一块内存的起始地址,就称  这块内存代表一个引用(一个对象 只有 被引用、未被引用 2种状态);

    1.2、有些场景下,当内存足够时,对象可以保留在内存中,如果  内存在垃圾回收后仍然紧张,可以抛弃这些对象

    1.3、JDK1.2后,提供了  (引用强度依次减弱)

          强引用(Strong Reference):

              类似 Object o=new Object(),只要强引用存在,GC永远不会回收被引用的对象;

          软引用(Soft Reference):

              作用:   描述  一些   有用   但   非必需的对象

              软引用 关联的对象,在   系统将要发生内存溢出之前,将会把软引用对象  列入 回收范围内  进行 第二次回收

              JDK提供了SoftReference类实现软引用;

          弱引用(Weak Reference):

              作用:  描述  一些  有用   但   非必需的对象

              弱引用  关联的对象,只能生存到下次GC之前,下一次GC 会进行回收

              JDK提供了WeakReference类实现弱引用;

          虚引用(Phantom Reference):

              作用: 为一个对象设置 虚引用,目的希望能   在这个对象被GC时  收到一个系统通知

              又称为   幽灵引用、幻影引用;

              一个对象    是否存在 虚引用,不会 对其生存时间构成影响无法通过虚引用 取得一个对象实例

              JDK提供  PhantomReference类实现虚引用;

              

          

JavaSE---引用

标签:描述   保留   sof   引用   实现   时间   ase   bsp   enc   

原文地址:https://www.cnblogs.com/anpeiyong/p/12698592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!