Class LRUCache

  • All Implemented Interfaces:
    MemoizeCache<java.lang.Object,​java.lang.Object>

    public final class LRUCache
    extends java.lang.Object
    implements MemoizeCache<java.lang.Object,​java.lang.Object>
    A cache backed by a Collections.SynchronizedMap
    Author:
    Vaclav Pech
    • Constructor Summary

      Constructors 
      Constructor Description
      LRUCache​(int maxCacheSize)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cleanUpNullReferences()
      Replying on the Collections.SynchronizedMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.
      java.lang.Object get​(java.lang.Object key)  
      java.lang.Object put​(java.lang.Object key, java.lang.Object value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LRUCache

        public LRUCache​(int maxCacheSize)
    • Method Detail

      • put

        public java.lang.Object put​(java.lang.Object key,
                                    java.lang.Object value)
        Specified by:
        put in interface MemoizeCache<java.lang.Object,​java.lang.Object>
      • get

        public java.lang.Object get​(java.lang.Object key)
        Specified by:
        get in interface MemoizeCache<java.lang.Object,​java.lang.Object>
      • cleanUpNullReferences

        public void cleanUpNullReferences()
        Replying on the Collections.SynchronizedMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.
        Specified by:
        cleanUpNullReferences in interface MemoizeCache<java.lang.Object,​java.lang.Object>