3. 几种对象引用强度

强引用(Strong Reference)

  • 只要引用存在,即使内存溢出也不会将该对象回收
  • 使用构造器创建的对象

软引用(Soft Reference)

  • 内存即将溢出前的那一次 GC 会将该引用回收,通常用作高速内存缓存
  • 使用SoftReference 类来实现

弱引用(Weak Reference)

  • 只要发生 GC 就会被回收
  • 使用 WeakReference 类来实现

虚引用(Phantom Reference)

  • 唯一会发生得就是该对象被回收时会收到系统通知。使用虚引用的目的就是为了得知对象被 GC 的时机,所以可以利用虚引用来进行销毁前的一些操作,比如说资源释放等。这个虚引用对于对象而言完全是无感知的,有没有完全一样,但是对于虚引用的使用者而言,就像是待观察的对象的把脉线,可以通过它来观察对象是否已经被回收,从而进行相应的处理。
  • 虚引用不能直接放在 PhantomReference 中,而是必须放在一个 ReferenceQueue 队列中
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 何苦万千年修炼 只是那转身楚楚 痴情酌酒苦苦等 黄了画纸 风也石化 情缘太早散 凡心念念惟谁动 千尺泪也漫金山
    阳光小城阅读 126评论 0 1
  • 冬至日南方的羊城依然温暖如春,每到周末小婵都要细心护理她的那些花儿,这几天恰逢桂花开,花香充满了整个屋子,小婵的心...
    城市屋檐下阅读 3,352评论 1 4
  • 狗是由狼来演变来的,不是被人类驯化的。一部分狼主动驯化人,变成狗。 野猪、鸡、鸭......被人类圈养,不愁食物,...
    生活工作杂记阅读 1,498评论 1 0
  • 刘双鹤,焦点中二班,平顶山,成长分享第521天(2017.6.10星期六) 不要让“鸭梨”变成“压力”——你要给的...
    在路上_1阅读 501评论 0 1
  • 搬过三次家,书柜上的书拿下捆好再重新放回,许多书也就像学生换座位一般,呆在了新的位置。只有一本书例外,永远占...
    大肚萧寒阅读 220评论 2 1

友情链接更多精彩内容