java的四种引用类型

java的四种引用类型

1.强引用
  • 把一个对象赋给一个引用变量,这个引用变量就是一个强引用。
  • 引用变量存储在栈中,对象存储在堆中
  • 当方法运行完成后,方法会退出方法栈,引用不存在,对象就会被回收
  • 如果这个引用是全局变量,就需要在不用这个对象时将其赋值为null,因为强引用不会被垃圾回收
  • 由于强引用的对象不会被垃圾回收,当虚拟机内存不足时会抛出OOM错误
2.软引用
  • 用SoftReference类实现
  • 当一个对象只有一个软引用,内存足够时,GC不会回收;内存不足时,GC就会回收它
  • 软引用适用于实现内存敏感的高速缓存,例如浏览器的后退按钮
3.弱引用
  • 用WeakReference类实现
  • 只要GC机制一执行,不管内存够不够,都会回收该对象占用的内存
4.虚引用
  • 用PhantomReference类实现
  • 不能单独使用,必须和引用队列联合使用
  • 主要作用是跟踪对象被垃圾回收的状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值