Package one.nio.mem

Class ArenaAllocator

java.lang.Object
one.nio.mem.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 Details

    • ArenaAllocator

      public ArenaAllocator()
  • Method Details

    • 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()