面试题:java常见的引用类型?

Java中的引用类型主要分为以下几种,它们代表了对象在内存中不同的可达性和生命周期管理策略:

  1. 强引用 (Strong Reference) 强引用是最常见的引用类型,我们平时创建对象时使用的引用就是强引用。只要强引用存在,垃圾收集器就不会回收该对象,即使在内存不足的情况下,JVM也会宁愿抛出OutOfMemoryError错误也不回收强引用指向的对象。例如:

    1Object obj = new Object(); // 这里obj就是一个强引用
  2. 软引用 (Soft Reference) 软引用通过SoftReference类来实现,当JVM认为内存不足时,会回收软引用指向的对象,因此软引用主要用于实现一些内存敏感的缓存。被软引用关联的对象只有在内存不足时才会被回收。

    1SoftReference<Object> softObj = new SoftReference<>(new Object());
  3. 弱引用 (Weak Reference) 弱引用也是用来描述非必需对象的,但是它的强度比软引用更弱一些。弱引用通过WeakReference类实现,只要垃圾回收器扫描到弱引用,不管当前内存是否足够,都会回收掉弱引用指向的对象。

    1WeakReference<Object> weakObj = new WeakReference<>(new Object());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值