目录
“引用”分级的目的
为有效管理内存,特别是在内存资源有限的情况下。引用分级可以帮助我们在内存压力增大的时候,有选择地保留或释放对象。
“引用” 概念的扩充
引用强度由高到低为:
强引用:传统理解的“引用”,“Object obj=new Object()”,强引用类型的对象不会被回收。(new 关键字创建的对象)
软引用:还有用,但非必须的对象,在系统将要内存溢出时会把它进行回收。(使用 SoftReference 类创建的引用)
弱引用:本次垃圾收集存活,但只能活到下一次垃圾收集为止。(使用WeakReference 类创建的引用)
虚引用:不会对对象的生存时间构成任何影响,唯一目的只是为了能在这个对象被收集器回收时收到一个通知。(使用 PhantomReference 类创建的引用)
“引用”分级的好处
控制对象的生命周期,减少不使用的对象持续占有内存使得内存得不到释放,从而造成内存空间的浪费。
垃圾收集时,可以更快地清理不再需要的对象,从而降低应用程序的暂停时间。