语录:我们知道Java和C相比,没有让人头疼的C++中的指针,但是有类似于指针的引用对象(Reference),也就是我们常说的引用,例如Objectobj=newObject();这个obj是一个引用,它指向的是真实对象Object的地址,但是今天要说的是java中的四种引用。可能有人会疑惑,四个引用?是的,从JDK1.2开始,Java扩展了引用的概念。根据引用的强度,分为四种类型的引用:强引用、软引用、弱引用和虚引用。下面我们就来看看这四个参考文献的具体情况。1.强引用1.1简介:我们代码中使用频率最高的引用,对象类是:StrongReference。比如上面提到的Objectobj=newObject();我们很熟悉,作为最强引用,只要引用还存在,垃圾回收器就不会回收引用,即使发生OOM(内存溢出))。也就是说,只要这种引用引用的对象仍然是指向的对象,垃圾回收器就不会管它,所以称为强引用。但是,如果Objectobj=newObject();对象=空;obj被赋值为null,引用就会被破坏,垃圾回收器会在合适的时候回收引用的内存。另一种情况是obj是一个成员变量。方法执行完后,obj会随着栈帧一起被回收,obj的引用也会一起被回收。强引用的使用就不介绍了,地球人都知道。2.软引用2.1简介:软引用用于描述一些有用但不需要的对象。对应的类是SoftReference,在系统内存不足时回收。如果内存足够,则不会回收。如果内存不足,可能会出现OOM,软引用的对象会被回收。像缓存这样的功能吗?是的,软引用可以用来存储缓存的数据,当内存充足时可以一直访问,当内存不足时,需要重新创建或访问原来的对象。2.2使用:其实无论是软引用,弱引用,还是幻引用,代码都是这样使用的,使用对应的Reference将对象放入构造函数中,然后使用placereference。get()调用特定对象。对象obj=newObject();SoftReference