对象引用类型分为强引用、软引用、弱引用和虚引用
1.强引用:就是我们一般声明对象是时虚拟机生成的引用,强引用环境下,垃圾回收时需要严格判断当前对象是否 被强引用,如果被强引用,则不会被垃圾回收
2.软引用:软引用一般被做为缓存来使用。与强引用的区别是,软引用在垃圾回收时,虚拟机会根据当前系统的剩 余内存来决定是否对软引用进行回收。如果剩余内存比较紧张,则
虚拟机会回收软引用所引用的空间;如果剩 余内存相对富裕,则不会进行回收。换句话说,虚拟机在发生OutOfMemory时,肯定是没有软引用存在的。
3.弱引用:弱引用与软引用类似,都是作为缓存来使用。但与软引用不同,弱引用在进行垃圾回收时,是一定会被 回收掉的,因此其生命周期只存在于一个垃圾回收周期内 |
|