资讯专栏INFORMATION COLUMN

Java弱引用

LMou / 1221人阅读

java弱引用的定义:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存

先让一个对象同时有一个强引用和一个弱引用,此时进行垃圾回收不会回收弱引用
然后使强引用不再指向这个对象,所以这个对象就只剩下了一个弱引用,那么,如果我们再进行一次垃圾回收,就会回收这个对象的弱引用

结果如下

让强引用指向别的对象,或者让str对String对象的强引用超出作用域(例如创建个方法,让创建对象的代码在这个方法里执行,main方法调用这个方法),都可以让String对象的强引用消失

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75100.html

相关文章

  • java:强引用,软引用,引用和虚引用

    摘要:强引用如果一个对象具有强引用垃圾回收器绝不会回收它当内存空间不足时虚拟机宁愿抛出错误使程序异常终止也不会靠随意回收具有强引用的对象来解决内存不足问题软引用如果内存空间充足垃圾回收器就不会回收它如果内存空间不足就会回收这些对象的内存只要垃圾回 强引用 如果一个对象具有强引用,垃圾回收器绝不会回收它.当内存空间不足时,java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终...

    fengxiuping 评论0 收藏0
  • Java中的四种引用(强引用、软引用引用、虚引用

    摘要:在之后,对引用的概念进行了扩充,将引用分为强引用软引用弱引用虚引用种,这种引用强度依次逐渐减弱。软引用是用来描述一些还有用但并非必需的对象。虚引用也称为幽灵引用或者幻影引用,它是最弱的一种引用关系。 以下内容摘自《深入理解Java虚拟机 JVM高级特性与最佳实践》第2版,强烈推荐没有看过的同学阅读,读完的感觉就是原来学的都是些什么瘠薄东西(╯‵□′)╯︵┴─┴ 在JDK1.2以前,Ja...

    wwolf 评论0 收藏0
  • Java对象引用四个级别(强、软、、虚)

    摘要:为了使程序能更加灵活地控制对象的生命周期,从版本开始,把对象的引用级别分为了以下四种。如技术栈这就是强引用,持有了这个对象的存储地址的引用。 showImg(https://segmentfault.com/img/remote/1460000015386749); 最近,高级Java技术栈微信群中,有一些猿友在讨论JVM中对象的周期问题,有谈到引用的级别,现在为大家做个总结吧,虽然大...

    liuhh 评论0 收藏0
  • Java 对象与垃圾回收

    摘要:当一个对象被一个或一个以上的引用变量所引用时,它处于可达状态,不可能被系统垃圾回收机制回收。虚引用主要用于跟踪对象被垃圾回收的状态,虚引用不能单独使用,虚引用必须和引用队列联合使用。 当程序创建对象、数组等引用类型实体时,系统都会在堆内存中为之分配一块内存区,对象就保存在这块内存区中,当这块内存不再被任何引用变量引用时,这块内存就变成垃圾,等待垃圾回收机制进行回收。垃圾回收机制具有如下...

    booster 评论0 收藏0
  • 深入解析强引用、软引用引用、幻象引用

    摘要:弱引用与软引用最大的区别就是弱引用比软引用的生命周期更短暂。所以对于软引用弱引用之类,垃圾收集器可能会存在二次确认的问题,以确保处于弱引用状态的对象没有改变为强引用。 关于强引用、软引用、弱引用、幻象引用的区别,在一些大公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。 在java语言中,除了原始数据类型(...

    Bmob 评论0 收藏0

发表评论

0条评论

LMou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<