Package one.nio.mem

Class ArenaAllocator

  • All Implemented Interfaces:
    Allocator

    public class ArenaAllocator
    extends Object
    implements Allocator
    Fast arena-based allocator that does not suffer from fragmentation. Individual objects cannot be released; arena is disposed all at once.
    • Constructor Detail

      • ArenaAllocator

        public ArenaAllocator()
    • Method Detail

      • release

        public void release()
      • malloc

        public long malloc​(int size)
        Specified by:
        malloc in interface Allocator
      • calloc

        public long calloc​(int size)
        Specified by:
        calloc in interface Allocator
      • free

        public void free​(long address)
        Specified by:
        free in interface Allocator
      • verify

        public void verify()
        Description copied from interface: Allocator
        Verify the layout of the heap. Expensive operation, used only for debugging purposes.
        Specified by:
        verify in interface Allocator
      • getMemoryFromSystem

        protected long getMemoryFromSystem​(long size)
      • releaseMemoryToSystem

        protected void releaseMemoryToSystem​(long addr,
                                             long size)
      • getAllocatedBytes

        public long getAllocatedBytes()
      • getReservedBytes

        public long getReservedBytes()