引用活动的四种方式:
强引用
通常不带任何修饰符的引用的就是强引用,垃圾回收器正常下都不会对其进行回收操作,所以当内存空间不足时Java虚拟机会抛出OutOfMemoryError错误使程序异常终止,异步消息最好对活动不要持有强引用。
SoftReference 软引用
内存空间不足的时候,GC回收机制才会被触发,回收这些对象的内存空间。
WeakReference 弱引用
一般和强引用相互配合引用,一个对象只有弱引用的时候,会被GC扫描到并回收这些对象的内存空间。所以,弱引用一般使用在关联场景不是很强的情况下,比如异步消息刷新界面。
PhantomReference 虚引用
虚引用与其他三种引用都不同,没有任何影响,主要是用来标记。所以,虚引用一般用来跟踪对象被垃圾回收器回收的活动,开发中一般不使用。