Java使用SoftReference来表示软引用,软引用是用来描述一些“还有用但是非必须”的对象.对于软引用关联着的对象,在JVM应用即将发生内存溢出异常之前,将会把这些软引用关联的对象列进去回收对象范围之中进行第二次回收.如果这次回收之后还是没有足够的内存,才会抛出内存溢出异常.简单来说就是: 如果内存空间足够,垃圾回收器就不会回收软引用关联着的对象. 如果内存空间不足,垃圾回收器在将要抛出内存溢出异常之前会回收软引用关联着的对象. 后面会详细介绍关于内存空间的计算方式. 下面是软引用类及重…