如何通过软引用和弱引用提升JVM内存使用效率?

引用类型:强引用(new),虚引用,软引用,弱引用
1.软引用(SoftReference)
如果一个对象只具有软引用,而当前虚拟机堆栈内存足够,那么垃圾回收器就不会回收它,反之就会回收这些软引用指向的对象。
2.弱引用(WeakReference)与软引用的区别
垃圾回收器一旦发现某块内存上只有弱引用,不管当前内存空间是否足够,那么都会回收这块内存。
2.通过软引用/弱引用提升内存性能
1)内存足够时,无需用软引用。
2)用缓存提升效率
先去缓存中查询,查询到返回;查询不到,去数据库中查询, 将获取内容存储在缓存,返回。
eg:软引用/弱引用做缓存
3)为什么不用强引用做缓存
强引用不能回收

相关推荐