Class HashCache<T>


  • public class HashCache<T>
    extends java.lang.Object
    Simple utility class that implements a fixed-size and thread-safe (non-blocking) cache of objects. The cache is simply an array of objects, indexed by their hash codes. If more than one objects hash to the same location, only the most recently accessed object is kept in the cache.
    See Also:
    JCR-1663
    • Constructor Summary

      Constructors 
      Constructor Description
      HashCache()
      Creates a hash cache with 1024 slots.
      HashCache​(int exponent)
      Creates a hash cache with 2^exponent slots.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      T get​(T object)
      If a cached copy of the given object already exists, then returns that copy.
      • Methods inherited from class java.lang.Object

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

      • HashCache

        public HashCache()
        Creates a hash cache with 1024 slots.
      • HashCache

        public HashCache​(int exponent)
        Creates a hash cache with 2^exponent slots.
        Parameters:
        exponent - the exponent.
    • Method Detail

      • get

        public T get​(T object)
        If a cached copy of the given object already exists, then returns that copy. Otherwise the given object is cached and returned.
        Parameters:
        object - object to return from the cache
        Returns:
        the given object or a previously cached copy