Class HashCache<T>


  • public class HashCache<T>
    extends 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 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