JVM强软弱虚
强引用: 定义: 在程序中通过 Object obj = new Object();这种方式创建的 obj 对象对于 new Object()来说就是强引用;只要obj的强引用还在new Object()就不会被垃圾回收; 软引用: 定义: 软引用是用来描述一些有用但不是非必须存在的数据,在程序中可以使用SoftReference对象来实现软引用: jdk1.2之前: 软引用在GC时会将软引用的对象列入可回收范围,但并不会直接回收,只有当GC后发现内存还是不足时,会发起二次GC回收软引用的对象; JDK1.31之后 JVM引入了 参数 -XX:SoftRefLRUPolicyMSPerMB默认为10ms(每MB堆内存空间对应的软引用对象最大存活时间,单位是毫秒),意思是当即使在内存不足 也需要满足 当前时间戳 - 软引用最新时间戳 <= 空闲内存 * SoftRefLRUPolicyMSPerMB默认时间 多久未被使用时间 <= 最少存活时间 当前时间戳-软引用最新时间戳 表示软引用对象多久没被使用了, 空闲内存 * SoftRefLRUPolicyMSPerMB默认时间....