java学习个人笔记---java内存管理之Java对象的引用方式

来源:互联网 发布:淘宝信用卡代付套现 编辑:程序博客网 时间:2024/04/30 21:31

Java对象的引用的方式:

1)强引用(StrongReference):一般的引用,内存不足,GC不会回收强引用对象,直接终止,是造成内存泄漏的主要原因之一;


2)软引用(SoftReference):内存充足时与强引用没有区别,当内存不足时,GC会回收软引用对象,避免内存不足;


3)弱引用(WeakReference):与软引用很相似(区别可看下面程序例子),区别是弱引用的对象生存期更短,GC回收弱引用对象时,不管系统内存充足与否,都会回收弱引用对象,因此使用弱引用对象时必须先判断它是否为null;


4)虚引用(PhantomReference):虚引用主要用于跟踪对象被垃圾回收的状态,虚引用不能单独使用,必须与引用队列(ReferenceQueue)联合使用,程序并不能通过虚引用访问被引用的对象,当被引用的对象被回收后,对应的引用将被添加到关联引用的队列中;



0 0