Procházet zdrojové kódy

优化,使用SoftReference作为value,在内存不够的时候,自动释放缓存

zhouhao před 8 roky
rodič
revize
83371cbc42

+ 3 - 2
hsweb-web-concurrent/hsweb-web-concurrent-cache/src/main/java/org/hsweb/concureent/cache/monitor/SimpleMonitorCache.java

@@ -59,8 +59,9 @@ public class SimpleMonitorCache extends ConcurrentMapCache implements MonitorCac
         Object value = super.lookup(key);
         if (value != null && value instanceof Reference) {
             Reference reference = (Reference) value;
-            if (reference != null) return reference.get();
-            evict(key);
+            value = reference.get();
+            if (value == null)
+                evict(key);
         }
         return value;
     }