java 中的 Reference类型

java中的引用包含强引用(StrongReference),弱引用(WeakReference),软引用(SoftReference),幽灵(PhantomReference)引用.

强引用

直接用等号赋值建立的引用。

弱引用

使用WeakReference类:

DBConnection stu = new Student();
WeakReference<DBConnection> weakStu = new WeakReference<DBConnection>(stu); 

 

弱引用不干涉虚拟机的垃圾回收,如果被引用的对象被回收后,调用get方法获取到空值。

软引用

使用SoftReference类:

DBConnection stu = new Student();

SoftReference<DBConnection> weakStu = new SoftReference<DBConnection>(stu); 

 

软引用将在内存不足时才会被回收,调用get方法获取到空值。

幽灵引用

幽灵引用不能被恢复因为只有在方法再调用了finalize方法后引用才会被放到引用队列中。

posted @ 2022-01-06 16:40  BrandonFu  阅读(100)  评论(0)    收藏  举报