随笔分类 -  Java查漏补缺

摘要:定义 Reference是所有引用类型的父类,定义了引用的公共行为和操作。 reference指代引用对象本身,referent指代reference引用的对象,下文介绍会以reference,referent形式出现。 说明 Reference类与垃圾回收是密切配合的,所以该类不能被直接子类化。简 阅读全文
posted @ 2018-10-24 14:50 弗兰克的猫 阅读(3074) 评论(0) 推荐(2) 编辑
摘要:定义 虚引用是使用PhantomReference创建的引用,虚引用也称为幽灵引用或者幻影引用,是所有引用类型中最弱的一个。一个对象是否有虚引用的存在,完全不会对其生命周期构成影响,也无法通过虚引用获得一个对象实例。 说明 虚引用,正如其名,对一个对象而言,这个引用形同虚设,有和没有一样。 如果一个 阅读全文
posted @ 2018-10-23 15:47 弗兰克的猫 阅读(21648) 评论(5) 推荐(10) 编辑
摘要:定义 弱引用是使用WeakReference创建的引用,弱引用也是用来描述非必需对象的,它是比软引用更弱的引用类型。在发生GC时,只要发现弱引用,不管系统堆空间是否足够,都会将对象进行回收。 说明 弱引用,从名字来看就很弱嘛,这种引用指向的对象,一旦在GC时被扫描到,就逃脱不了被回收的命运。 但是, 阅读全文
posted @ 2018-10-22 14:41 弗兰克的猫 阅读(1712) 评论(0) 推荐(2) 编辑
摘要:定义 软引用是使用SoftReference创建的引用,强度弱于强引用,被其引用的对象在内存不足的时候会被回收,不会产生内存溢出。 说明 软引用,顾名思义就是比较“软”一点的引用。 当一个对象与GC Roots之间存在强引用时,无论何时都不会被GC回收掉。如果一个对象与GC Roots之间没有强引用 阅读全文
posted @ 2018-10-12 23:09 弗兰克的猫 阅读(3495) 评论(0) 推荐(2) 编辑
摘要:定义 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器宁愿抛出OOM(OutOfMemoryError)也不会回收它。 说明 不要被这个强字吓到,以为这个引用就很厉害,其实强引用就是程序中使用的一般引用类型。举个简单的栗子: 强可达 如果一个对象与GC Roots之间存在强引用,则称这 阅读全文
posted @ 2018-10-11 08:49 弗兰克的猫 阅读(2458) 评论(0) 推荐(0) 编辑
摘要:强引用、软引用、弱引用和虚引用深入探讨 为了更灵活的控制对象的生命周期,在JDK1.2之后,引用被划分为强引用、软引用、弱引用、虚引用四种类型,每种类型有不同的生命周期,它们不同的地方就在于垃圾回收器对待它们会使用不同的处理方式。 引用类型在日常开发中并不常关注,也很少注意到,因此很多人忽略了它们的 阅读全文
posted @ 2018-10-11 08:43 弗兰克的猫 阅读(3147) 评论(7) 推荐(3) 编辑

点击右上角即可分享
微信分享提示