Package net.i2p.util

Class SimpleByteCache


  • public final class SimpleByteCache
    extends Object
    Like ByteCache but works directly with byte arrays, not ByteArrays. These are designed to be small caches, so there's no cleaner task like there is in ByteCache. And we don't zero out the arrays here. Only the static methods are public here.
    Since:
    0.8.3
    • Method Detail

      • getInstance

        public static SimpleByteCache getInstance​(int size)
        Get a cache responsible for arrays of the given size
        Parameters:
        size - how large should the objects cached be?
      • getInstance

        public static SimpleByteCache getInstance​(int cacheSize,
                                                  int size)
        Get a cache responsible for objects of the given size
        Parameters:
        cacheSize - how large we want the cache to grow (number of objects, NOT memory size) before discarding released objects.
        size - how large should the objects cached be?
      • clearAll

        public static void clearAll()
        Clear everything (memory pressure)
      • acquire

        public static byte[] acquire​(int size)
        Get the next available array, either from the cache or a brand new one
      • release

        public static void release​(byte[] entry)
        Put this array back onto the available cache for reuse