jvm四种引用类型

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。jvm四种引用类型,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

一、强引用:

正常的new出对象被引用指向就是强引用。可直接通过引用操纵对象。gc不会回收被强引用指向的对象,除非引用等于null

二、软引用

new出SoftReference在它的构造方法里嵌套别的对象

在这里插入图片描述

1、m指向sr强引用,sr对象指向字节数组软引用。每次gc并不会主动清理软引用,只有当有其他强引用进来,并且堆区空间不够了则才会被清理。可以通过引用.get方法获取嵌套的对象

2、作用:用于缓存,把一些经常用的设为软引用(让SoftReference里嵌套要用到的东西),这样它就不会被gc回收掉,可以被经常使用。而且当内存不够时,它可以随时被其他强引用干掉

三、弱引用

new出WeakReference在它的构造方法里嵌套别的对象

1、内存图如上。只要垃圾回收启动一定会被回收。可以通过引用.get方法获取嵌套的对象

2、作用:在ThreadLocal中防止内存泄露(详见多线程专栏的ThreadLocal)

四、虚引用

new出PhantomReference在它的构造方法里嵌套别的对象

在这里插入图片描述
必须得加个队列,因为每次被回

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153414.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!