JVM学习笔记2--强/弱/软应用

1.强引用
引用

一般声明对象时虚拟机生成的引用,强引用环境下,垃圾回收时需要严格判断当前对象是否被强引用,如果被强引用,则不会被垃圾回收


2.软引用
引用

一般被做为缓存来使用。与强引用的区别是,软引用在垃圾回收时,虚拟机会根据当前系统的剩余内存来决定是否对软引用进行回收。如果剩余内存比较紧张,则虚拟机会回收软引用所引用的空间;如果剩余内存相对富裕,则不会进行回收。虚拟机在发生OutOfMemory时,肯定是没有软引用存在的。


3.弱引用
引用

与软引用类似,都是作为缓存来使用。但与软引用不同,弱引用在进行垃圾回收时,不论剩余内存是否紧张,是一定会被回收掉的,因此其生命周期只存在于一个垃圾回收周期内。

你可能感兴趣的:(jvm,弱引用,强引用,软引用)