java有四种引用方式。
强引用、软引用、弱引用、虚引用。
强引用:
Object object =
new
Object();
String str =
"hello"
;
只要强引用还在,垃圾回收器永远不会回收掉被引用的对象。
软引用:
用来描述一些还有用但并非必须的对象。
如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;
如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。
弱引用:
弱引用也是用来描述非必需对象的,当JVM进行垃圾回收时,无论内存是否充足,都会回收被弱引用关联的对象。
虚引用:
如果一个对象与虚引用关联,则跟没有引用与之关联一样,在任何时候都可能被垃圾回收器回收。