Class ResourceCache


  • public class ResourceCache
    extends Object
    Implements a special purpose cache.
    Version:
    $Revision: 1.3 $
    Author:
    Remy Maucherat
    • Field Detail

      • random

        protected SecureRandom random
        Random generator used to determine elements to free.
      • cache

        protected CacheEntry[] cache
        Cache. Path -> Cache entry.
      • cacheMaxSize

        protected int cacheMaxSize
        Max size of resources which will have their content cached.
      • maxAllocateIterations

        protected int maxAllocateIterations
        Max amount of removals during a make space.
      • desiredEntryAccessRatio

        protected long desiredEntryAccessRatio
        Entry hit ratio at which an entry will never be removed from the cache. Compared with entry.access / hitsCount
      • spareNotFoundEntries

        protected int spareNotFoundEntries
        Spare amount of not found entries.
      • cacheSize

        protected int cacheSize
        Current cache size in KB.
      • accessCount

        protected long accessCount
        Number of accesses to the cache.
      • hitsCount

        protected long hitsCount
        Number of cache hits.
    • Constructor Detail

      • ResourceCache

        public ResourceCache()
    • Method Detail

      • getAccessCount

        public long getAccessCount()
        Return the access count. Note: Update is not synced, so the number may not be completely accurate.
      • getCacheMaxSize

        public int getCacheMaxSize()
        Return the maximum size of the cache in KB.
      • setCacheMaxSize

        public void setCacheMaxSize​(int cacheMaxSize)
        Set the maximum size of the cache in KB.
      • getCacheSize

        public int getCacheSize()
        Return the current cache size in KB.
      • getDesiredEntryAccessRatio

        public long getDesiredEntryAccessRatio()
        Return desired entry access ratio.
      • setDesiredEntryAccessRatio

        public void setDesiredEntryAccessRatio​(long desiredEntryAccessRatio)
        Set the desired entry access ratio.
      • getHitsCount

        public long getHitsCount()
        Return the number of cache hits. Note: Update is not synced, so the number may not be completely accurate.
      • getMaxAllocateIterations

        public int getMaxAllocateIterations()
        Return the maximum amount of iterations during a space allocation.
      • setMaxAllocateIterations

        public void setMaxAllocateIterations​(int maxAllocateIterations)
        Set the maximum amount of iterations during a space allocation.
      • getSpareNotFoundEntries

        public int getSpareNotFoundEntries()
        Return the amount of spare not found entries.
      • setSpareNotFoundEntries

        public void setSpareNotFoundEntries​(int spareNotFoundEntries)
        Set the amount of spare not found entries.
      • allocate

        public boolean allocate​(int space)
      • unload

        public boolean unload​(String name)