Class HeapMemoryAllocator

    • Method Detail

      • unlimited

        public static HeapMemoryAllocator unlimited()
        Create an allocator that is "unlimited", which, of course, means it is limited only by available JVM heap.
      • allocate

        public Optional<ResourceHolder<org.apache.datasketches.memory.WritableMemory>> allocate​(long size)
        Description copied from interface: MemoryAllocator
        Allocates a block of memory of capacity {@param size}. Returns empty if no more memory is available. The memory can be freed by closing the returned ResourceHolder. The returned WritableMemory object will use little-endian byte order.
        Specified by:
        allocate in interface MemoryAllocator
      • available

        public long available()
        Description copied from interface: MemoryAllocator
        Returns the number of bytes available for allocations. May return Long.MAX_VALUE if there is no inherent limit. This generally does not mean you can actually allocate 9 exabytes.
        Specified by:
        available in interface MemoryAllocator
      • capacity

        public long capacity()
        Description copied from interface: MemoryAllocator
        Returns the number of bytes managed by this allocator. When no memory has been allocated yet, this is identical to MemoryAllocator.available(). May return Long.MAX_VALUE if there is no inherent limit. This generally does not mean you can actually allocate 9 exabytes.
        Specified by:
        capacity in interface MemoryAllocator