面试官:详细谈谈Java对象的4种引用方式
而Java根据其生命周期的长短将引用类型又分为强引用、软引用、弱引用、幻象引用 。软引用可以与引用队列联合使用。反之就返回软引用对象也就是softObj。弱引用是通过WeakReference类实现的,它的生命周期比软引用还要短,也是通过get()方法获取对象。在GC的时候,不管内存空间足不足都会回收这个对象,同样也可以配合ReferenceQueue 使用,也同样适用于内存敏感的缓存。也称虚引用,是通过PhantomReference类实现的。无法通过虚引用访问对象的任何属性或者函数。虚引用仅仅只是提供了一种确保对象被finalize以后来做某些事情的机制。虚引用是必须配合ReferenceQueue 使用的,具体使用方法和上面提到软引用的一样。主要用来跟踪对象被垃圾回收的活动。
用户评论