强软弱虚引用
时间:2021-02-22 11:47:14
收藏:0
阅读:0
1、强引用
-
在代码中普遍存在的引用赋值
类似于使用new关键字创建的引用
-
存在强引用关系的对象,
-
任何情况下,垃圾回收器都不会回收
-
2、软引用
-
描述一些还有用,但非必须的对象
-
使用SoftReference类实现软引用
-
存在软引用关系的对象,
-
在系统将要发生内存溢出异常前,会对这些对象进行第二次回收
-
如果这次回收还没有足够的内存,抛内存溢出异常
-
3、弱引用
-
描述非必须对象,强度低于软引用
-
使用WeakReference类实现弱引用
-
存在弱引用关系的对象,
-
遇到垃圾收集器,就会被回收,无论当前内存是否足够
-
4、虚引用
-
“幽灵引用”或“幻影引用”
-
使用PhantomReference类实现虚引用
-
存在虚引用关系的对象,
-
不会对其生存时间构成影响
-
无法通过虚引用取得一个对象实例
-
但是在这个对象被回收时,会收到一个系统通知
-
评论(0)