引⽤类型有哪些?有什么区别?

2022-04-19  本文已影响0人  嘘寒问暖

引⽤类型主要分为强软弱虚四种:

1. 强引⽤指的就是代码中普遍存在的赋值⽅式,⽐如A a = new A()这种。强引⽤关联的对象,永远不会被GC回收。

2. 软引⽤可以⽤SoftReference来描述,指的是那些有⽤但是不是必须要的对象。系统在发⽣内存溢出前会对这类引⽤的对象进⾏回收。

3. 弱引⽤可以⽤WeakReference来描述,他的强度⽐软引⽤更低⼀点,弱引⽤的对象下⼀次GC的时候⼀定会被回收,⽽不管内存是否⾜够。

4. 虚引⽤也被称作幻影引⽤,是最弱的引⽤关系,可以⽤PhantomReference来描述,他必须和ReferenceQueue⼀起使⽤,同样的当发⽣GC的时候,虚引⽤也会被回收。可以⽤虚引⽤来管理堆外内存。

上一篇下一篇

猜你喜欢

热点阅读