@Override public MemBufferHolder<SysMemAllocator> createBuffer(long size,boolean autoreclaim){
  MemBufferHolder<SysMemAllocator> ret=null;
  ByteBuffer bb=null;
  if (currentMemory.get() + size > maxStoreCapacity) {
    if (m_activegc) {
      forceGC();
    }
  }
  if (currentMemory.get() + size <= maxStoreCapacity) {
    bb=ByteBuffer.allocateDirect((int)size);
  }
  if (null != bb) {
    ret=new MemBufferHolder<SysMemAllocator>(this,bb);
    ret.setCollector(m_bufcollector);
    if (autoreclaim) {
      m_bufcollector.register(ret);
    }
    currentMemory.getAndAdd(size);
  }
  return ret;
}

@ Override public MemBufferHolder < SysMemAllocator > createBuffer ( long size , boolean autoreclaim ) { MemBufferHolder < SysMemAllocator > ret = null ; ByteBuffer bb = null ; if ( currentMemory . get ( ) + size > maxStoreCapacity ) { if ( m_activegc ) { forceGC ( ) ; } } if ( currentMemory . get ( ) + size <= maxStoreCapacity ) { bb = ByteBuffer . allocateDirect ( ( int ) size ) ; } if ( null != bb ) { ret = new MemBufferHolder < SysMemAllocator > ( this , bb ) ; ret . setCollector ( m_bufcollector ) ; if ( autoreclaim ) { m_bufcollector . register ( ret ) ; } currentMemory . getAndAdd ( size ) ; } return ret ; }
create a memory buffer that is managed by its holder .
