在Java语言中,引用是指,某一个数据,代表的是另外一块内存的的起始地址,那么我们就称这个数据为引用。

在JVM中,GC回收的大致准则,是认定如果不能从根节点,根据引用的不断传递,最终指向到一块内存区域,我们就将这块内存区域回收掉。但是这样的回收原则未免太过粗暴。有些时候,内存的使用并不紧张,我们并不希望GC那么勤劳的、快速的回收掉内存。反而有时候希望数据可以在内存中尽可能的保留长一会,待到虚拟机内存吃紧的时候,再来清理掉他。因此从JDK1.2之后,引用的类型变的多样化,从而更好的适应编码的需要。
下面次来介绍下四种引用:
1、强引用 Strong Reference
这是Java程序中,最普遍的一种引用。

